Code:
class NameFaker
{
[DllImport("kernel32.dll")]
private static extern IntPtr OpenProcess(UInt32 dwDesiredAccess, bool bInheritHandle, int dwProcessId);
[DllImport("kernel32.dll")]
private static extern Int32 ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [In, Out] byte[] buffer, UInt32 size, out IntPtr lpNumberOfBytesRead);
private uint ReadInt(uint Addr)
{
byte[] buffer = new byte[4];
IntPtr R;
ReadProcessMemory(Open_Memory(), (IntPtr)Addr, buffer, 4, out R);
return BitConverter.ToUInt32(buffer, 0);
}
private IntPtr Open_Memory()
{
try
{
Process MyProc = Process.GetProcessesByName("iw5mp")[0];
IntPtr MW3_Handle = OpenProcess(0x1F0FFF, true, MyProc.Id);
return MW3_Handle;
}
catch { Console.WriteLine("Error - Open Memory"); Console.Beep(); return (IntPtr)0x0; }
}
[DllImport("kernel32.dll")]
private static extern Int32 WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [In, Out] byte[] buffer, UInt32 size, out IntPtr lpNumberOfBytesWritten);
public void WriteString(int Address, string Text)
{
byte[] Buffer = new ASCIIEncoding().GetBytes(Text);
IntPtr Zero = IntPtr.Zero;
WriteProcessMemory(Open_Memory(), (IntPtr)Address, Buffer, (UInt32)20, out Zero);
}
private uint BaseAddress(string Base)
{
if (Process.GetProcessesByName("iw5mp").Length != 0)
{
foreach (ProcessModule Mod in Process.GetProcessesByName("iw5mp")[0].Modules)
{
if (Mod.ModuleName == Base)
return (uint)Mod.BaseAddress.ToInt32();
}
return 0;
}
else return 0;
}
Code:
public NameFaker(string Name)
{
uint Base = BaseAddress("steam_api.dll") + 0x0001824C;
uint Runner = ReadInt(Base) + 0x8;
Runner = ReadInt(Runner) + 0x50;
Runner = ReadInt(Runner) + 0x56;
WriteString((int)Runner, Name);
}
}