public static void Set(string name) { if (Address == IntPtr.Zero) { Address = gvar.Allocator.Alloc(Size); if (Address == IntPtr.Zero) { return; } Buffer.BlockCopy(BitConverter.GetBytes((int)Address + 0x1D), 0, Shellcode, 0xD, 4); Buffer.BlockCopy(BitConverter.GetBytes((int)Address + 0x22), 0, Shellcode, 0x12, 4); Buffer.BlockCopy(BitConverter.GetBytes(Memory.Engine + Offsets.dw_SetConVar), 0, Shellcode, 0x17, 4); } if (!Local.InGame) { return; } if (name == PREVNAME) { return; } PREVNAME = name; byte[] reset = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; byte[] name_bytes; if (name == "\n") { name_bytes = Encoding.UTF8.GetBytes('\n' + "\0"); } else { name_bytes = Encoding.UTF8.GetBytes(name + "\0"); } Buffer.BlockCopy(reset, 0, Shellcode, 0x22, reset.Length); Buffer.BlockCopy(name_bytes, 0, Shellcode, 0x22, name_bytes.Length); WinAPI.WriteProcessMemory(Memory.pHandle, Address, Shellcode, Shellcode.Length, 0); for (var i = 0; i < 100; i++) { CreateThread.Execute(Address); } }
public static void Show() { if (Address == IntPtr.Zero) { Address = gvar.Alloc.Alloc(Size); if (Address == IntPtr.Zero) { return; } Buffer.BlockCopy(BitConverter.GetBytes((int)Address + 20), 0, Shellcode, 1, 4); Buffer.BlockCopy(BitConverter.GetBytes(Memory.client + Offsets.dw_RevealRankFn), 0, Shellcode, 9, 4); WinAPI.WriteProcessMemory(Memory.pHandle, Address, Shellcode, Shellcode.Length, 0); } CreateThread.Execute(Address); }
public static void Show() { if (Address == IntPtr.Zero) { Address = gvar.Allocator.Alloc(Shellcode.Length + 12); if (Address == IntPtr.Zero) { return; } Buffer.BlockCopy(BitConverter.GetBytes((int)Address + Shellcode.Length), 0, Shellcode, 1, 4); Buffer.BlockCopy(BitConverter.GetBytes(Memory.Client + Offsets.dw_RevealRankFn), 0, Shellcode, 6, 4); uint nBytesWritten = 0; WinAPI.WriteProcessMemory(Memory.pHandle, Address, Shellcode, (IntPtr)Shellcode.Length, out nBytesWritten); } CreateThread.Execute(Address); }