Red faceMW3 Name Faker Class (+Dragon Tool)

Posts 115 of 32 · Page 1 of 3
MW3 Name Faker Class (+Dragon Tool)
Well, will release it then :P
Thanks to @Isaakske for making me finish it

 
Code
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);
        [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;
            Convert.ToByte(10);
            WriteProcessMemory(Open_Memory(), (IntPtr)Address, Buffer, (UInt32)25, out Zero);
        }
        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()
        {
            if( Process.GetProcessesByName("iw5mp").Length != 0)
            {
                return OpenProcess(0x1F0FFF, true, Process.GetProcessesByName("iw5mp")[0].Id);
            }
            else return (IntPtr)0x0;
        }
        private uint BaseAddress(string Module_Name)
        {
            if (Process.GetProcessesByName("iw5mp").Length != 0)
            {
                foreach (ProcessModule Mod in Process.GetProcessesByName("iw5mp")[0].Modules)
                {
                    if (Mod.ModuleName == Module_Name)
                        return (uint)Mod.BaseAddress.ToInt32();
                }
                return 0;
            }
            else return 0;
        }
        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);
        }
    }


Usage:
Add it to your Project
And use like:
Code:
NameFaker Fake = new NameFaker("YourName");
Then go here:
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);
}
You have to edit the Pointers (Offsets)
To what you have

Dragon Tool: REMOVED (Did 1 Mistake :|)

Tutorial for Pointer Scan:
Quote Originally Posted by stevonator View Post
Thank you very very much
No Problem, just provide credit or thanks if you are to release it
Quote Originally Posted by Jorndel View Post


No Problem, just provide credit or thanks if you are to release it
will do that

EDIT: seems you forgot the namechanging process
@Jorndel you forgot the part where you rewrite your name ... ?
Add this somewhere above or below the rest of the NF Class ...

Code:
public void (your trigger here, like a button, or such)
        {
            NameFaker Fake = new NameFaker("YourNewFakeName");
        }
thanks, this will complete my hack a bit more, now only have to enter the rest of my hack xD
Thanks for the code, I have tried using it and I can't seem to get it to change the name, I have been playing with this for a few days in VB and I have got it to write the bytes and everything but couldn't do the Point Scanning Bit to ensure it is right everytime, as a result the memory address would change every game restart.

So far I have created a seperate class file using a form design using this for the button command

Code:
   public void button1_Click(object sender, EventArgs e)
        
        {
            
            NameFaker fake = new NameFaker(textBox1.Text);
        }
I have also created it with the class inside the form just below

Code:
public Form1()
        {
            InitializeComponent();
        }
The form shows no errors and goes through fine, but nothing updates, any pointers as to where I may be going wrong would be appreciated.
Quote Originally Posted by gteuk View Post
Thanks for the code, I have tried using it and I can't seem to get it to change the name, I have been playing with this for a few days in VB and I have got it to write the bytes and everything but couldn't do the Point Scanning Bit to ensure it is right everytime, as a result the memory address would change every game restart.

So far I have created a seperate class file using a form design using this for the button command

Code:
   public void button1_Click(object sender, EventArgs e)
        
        {
            
            NameFaker fake = new NameFaker(textBox1.Text);
        }
I have also created it with the class inside the form just below

Code:
public Form1()
        {
            InitializeComponent();
        }
The form shows no errors and goes through fine, but nothing updates, any pointers as to where I may be going wrong would be appreciated.
Try one of this pointers:
Code:
uint Base = BaseAddress("steam_api.dll") + 0x0001824C;
uint Runner = ReadInt(Base) + 0x7E;
Runner = ReadInt(Runner) + 0x90;
Runner = ReadInt(Runner) + 0x24;
Runner = ReadInt(Runner) + 0x28;
Runner = ReadInt(Runner) + 0x4;
Code:
uint Base = BaseAddress("steam_api.dll") + 0x0001824C;
uint Runner = ReadInt(Base) + 0x7E;
Runner = ReadInt(Runner) + 0x90;
Runner = ReadInt(Runner) + 0x64;
Runner = ReadInt(Runner) + 0x80;
Runner = ReadInt(Runner) + 0x28;
Code:
uint Base = BaseAddress("steam_api.dll") + 0x0001824C;
uint Runner = ReadInt(Base) + 0x7E;
Runner = ReadInt(Runner) + 0x90;
Runner = ReadInt(Runner) + 0x64;
Runner = ReadInt(Runner) + 0x8;
Runner = ReadInt(Runner) + 0x0;
Thanks for your help,

On the last two I get an overflow error, which is good because at least I now know the form is reading.

non of the addresses worked, I have used CE and noticed I get 4 static black addresses and about 15 green addresses even if I do new scan on a number of occasions.

here is the error

Now the namestealer or should I do that one..?
Nah, nobody understands C++.. Only .NET
Quote Originally Posted by Eidolon View Post
Now the namestealer or should I do that one..?
Nah, nobody understands C++.. Only .NET
name stealer is much easier than Name Faker.. it's just copy the enemy name to yours (after patching the right address ofc)... but do what you want
But I think it can only be done internally, not sure tho
Quote Originally Posted by MarkHC View Post

name stealer is much easier than Name Faker.. it's just copy the enemy name to yours (after patching the right address ofc)... but do what you want
But I think it can only be done internally, not sure tho
Uhh, think youre wrong. Looking to the actual performance; namefaker simply changes the name of yourself. For namestealer you have to find the one you killed or killed you first.
Quote Originally Posted by Eidolon View Post


Uhh, think youre wrong. Looking to the actual performance; namefaker simply changes the name of yourself. For namestealer you have to find the one you killed or killed you first.
Well, that's not hard...
Also, you can easy take the names from the lobby or while in game

I have already done so and is soon to release the new name faker with new stuff
(I won't add the last killed name steal, unless it's wanted tho :|)
Quote Originally Posted by Eidolon View Post


Uhh, think youre wrong. Looking to the actual performance; namefaker simply changes the name of yourself. For namestealer you have to find the one you killed or killed you first.
If you have an aimbot, you can change your name when the aimbot locks on the target, then when you kill him it'll show like: Derp <killed> Derp

But if you want to do it without aimbot, just keep monitoring you Killstreak, when it increases, read the name from the address (not sure which one) and copy it to yours.

And I think it can only be done internally cause you have to send a command to console in order to change the name in-game...
Quote Originally Posted by BarbeZz
To change your name ingame, you edit your name through memory
and send "cl_enableDedicatedServerBrowser 1" to the console.
I have Used CE and got a pointer that works in CE and manually altered the Runners to match I now have this code, am I just a total noob and got it all wrong ?

Code:
  
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        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);
            [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;
                Convert.ToByte(10);
                WriteProcessMemory(Open_Memory(), (IntPtr)Address, Buffer, (UInt32)25, out Zero);
            }
            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()
            {
                if (Process.GetProcessesByName("iw5mp").Length != 0)
                {
                    return OpenProcess(0x1F0FFF, true, Process.GetProcessesByName("iw5mp")[0].Id);
                }
                else return (IntPtr)0x0;
            }
            private uint BaseAddress(string Module_Name)
            {
                if (Process.GetProcessesByName("iw5mp").Length != 0)
                {
                    foreach (ProcessModule Mod in Process.GetProcessesByName("iw5mp")[0].Modules)
                    {
                        if (Mod.ModuleName == Module_Name)
                            return (uint)Mod.BaseAddress.ToInt32();
                    }
                    return 0;
                }
                else return 0;
            }
            public NameFaker(string Name)
            {

                uint Base = BaseAddress("steam_api.dll") + 0x001824C;
                uint Runner = ReadInt(Base) + 0x7E;
                Runner = ReadInt(Runner) + 0x92;
                Runner = ReadInt(Runner) + 0x8;
                Runner = ReadInt(Runner) + 0x4;
                Runner = ReadInt(Runner) + 0x20;
            }
               
      }
        public void button1_Click(object sender, EventArgs e)
        
        {
            
            NameFaker fake = new NameFaker(textBox1.Text);
        }
    }
}
Posts 115 of 32 · Page 1 of 3

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?