Help me make poor aimbot external ;(

amoreamoreamore

Active member
Joined
May 3, 2019
Messages
38
Reaction score
10
Location
Saint-Petersburg
Hey there. I just want to translate this code for external use. I'm pretty sure I'm doing everything right, but it doesn't work. Also, I am concerned that I have not written anything to Write Process Memory, but what could be written here? I really dk what is missing.

P.S. Internal way works good


Internal, from Nilmer multicheat
C++:
            int wID;
            wID = *(BYTE*)0xBAA410;
            DWORD* pActor = (DWORD*)0xB6F5F0;//pointer of player actor
            DWORD* pPed = (DWORD*)((*pActor) + 0x79C);//pointer to target player
            DWORD* pMtrx2 = (DWORD*)((*pPed) + 0x14);//matrix of target player
            float* playerHP = (float*)((*pPed) + 0x540);//health of target player
            DWORD* pMtrx1 = (DWORD*)((*pActor) + 0x14);//matrix of player actor

                if (wID == 24)
                {
                    if (*pPed > 0)
                    {
 
                        if (*playerHP > 0.0f)
                        {
                            float* x = (float*)((*pMtrx1) + 0x30);//X position Ped
                            float* y = (float*)((*pMtrx1) + 0x34);//Y position Ped
                            float* z = (float*)((*pMtrx1) + 0x38);//Z position Ped
 
 
                            float* x1 = (float*)((*pMtrx2) + 0x30);//X position Target
                            float* y1 = (float*)((*pMtrx2) + 0x34);//Y position Target
                            float* z1 = (float*)((*pMtrx2) + 0x38);//Z position Target
                            float* RotAngle = (float*)((*pActor) + 0x558);//health of target player
                            float Xwiping = (float)*x + 2 * (float)cos(*RotAngle + 1.48353F);
                            float Ywiping = (float)*y + 2 * (float)sin(*RotAngle + 1.48353F);
                            float Zwiping = (float)*z + 0.5F;
                            *x1 = (float)Xwiping;
                            *y1 = (float)Ywiping;
                            *z1 = (float)Zwiping;
                        }
                    }
                }

My
C++:
            int wID;
            DWORD pActor, pPed, pMtrx1, pMtrx2;
            float PlayerHP;

            ReadProcessMemory(hProcess, (LPVOID)0xB6F5F0, &pActor, sizeof(pActor), 0);
            ReadProcessMemory(hProcess, (LPVOID)0xBAA410, &wID, sizeof(wID), 0);
            ReadProcessMemory(hProcess, (LPVOID)(pActor + 0x79C), &pPed, sizeof(pPed), 0);
            ReadProcessMemory(hProcess, (LPVOID)(pPed + 0x14), &pMtrx2, sizeof(pMtrx2), 0);
            ReadProcessMemory(hProcess, (LPVOID)(pPed + 0x540), &PlayerHP, sizeof(PlayerHP), 0);
            ReadProcessMemory(hProcess, (LPVOID)(pActor + 0x14), &pMtrx1, sizeof(pMtrx1), 0);
            if (wID == 24)
            {
                if (pPed > 0)
                {
                    if (PlayerHP > 0.0f)
                    {
                        float x, y, z, x1, y1, z1, RotAngle;
                        ReadProcessMemory(hProcess, (LPVOID)(pMtrx1 + 0x30), &x, sizeof(x), 0);
                        ReadProcessMemory(hProcess, (LPVOID)(pMtrx1 + 0x34), &y, sizeof(y), 0);
                        ReadProcessMemory(hProcess, (LPVOID)(pMtrx1 + 0x38), &z, sizeof(z), 0);

                        ReadProcessMemory(hProcess, (LPVOID)(pMtrx2 + 0x30), &x1, sizeof(x1), 0);
                        ReadProcessMemory(hProcess, (LPVOID)(pMtrx2 + 0x34), &y1, sizeof(y1), 0);
                        ReadProcessMemory(hProcess, (LPVOID)(pMtrx2 + 0x38), &z1, sizeof(z1), 0);

                        ReadProcessMemory(hProcess, (LPVOID)(pActor + 0x558), &RotAngle, sizeof(RotAngle), 0);

                        float Xwiping = x + 2 * cos(RotAngle + 1.48353f);
                        float Ywiping = y + 2 * sin(RotAngle + 1.48353f);
                        float Zwiping = z + 0.5f;

                        x1 = Xwiping;
                        y1 = Ywiping;
                        z1 = Zwiping;
                    }
                }
            }
        }
 

88resu

Active member
Joined
Oct 1, 2019
Messages
110
Reaction score
46
Location
Uganda
*x1 = (float)Xwiping;
*y1 = (float)Ywiping;
*z1 = (float)Zwiping;


This 3 top writeprocessmemory , U are externally. u just Want Paste so waste of time to explain why U need wpm there...
 

amoreamoreamore

Active member
Joined
May 3, 2019
Messages
38
Reaction score
10
Location
Saint-Petersburg
*x1 = (float)Xwiping;
*y1 = (float)Ywiping;
*z1 = (float)Zwiping;


This 3 top writeprocessmemory , U are externally. u just Want Paste so waste of time to explain why U need wpm there...
Lol, I thought so too at first, it didn't work. And x1,y1,z1 are float type. To write this to wpm, i need change the type to DWORD or some other .
 

amoreamoreamore

Active member
Joined
May 3, 2019
Messages
38
Reaction score
10
Location
Saint-Petersburg
u just Want Paste so waste of time to explain why U need wpm there...
You're wrong. Usually when a function needs to write something to memory, I see the write using a pointer or an equate.
Also, the equation can be written for external way, so I'm confused.
 

monday

Expert
Joined
Jun 23, 2014
Messages
1,125
Reaction score
151
You're wrong. Usually when a function needs to write something to memory, I see the write using a pointer or an equate.
Also, the equation can be written for external way, so I'm confused.
Each process has it's own memory allocated for it by the operating system. Typically each process has what is called "virtual memory", when you reference address "0" in one program, and reference address "0" in another program, you will reference 2 separate physical memory locations. There's no way for one program to access or edit memory of another process by writing/reading its own virtual address space. It can only be done by "asking" operating system to do it (using API calls like "WriteProcessMemory" or "ReadProcessMemory")

So if you'd like to modify that internal mod to work from outside of the process, you'll have to use "WriteProcessMemory" instead of using " *pointer = value;"
 

monday

Expert
Joined
Jun 23, 2014
Messages
1,125
Reaction score
151
Btw could you post a link to where I can get the full source code of internal one?
 

DarkSerifu

Active member
Joined
Apr 3, 2018
Messages
66
Reaction score
17
here is an example, is not external but u can rewrite or simply compile as .dll and inject into the game with an dll injector
 

amoreamoreamore

Active member
Joined
May 3, 2019
Messages
38
Reaction score
10
Location
Saint-Petersburg
Each process has it's own memory allocated for it by the operating system. Typically each process has what is called "virtual memory", when you reference address "0" in one program, and reference address "0" in another program, you will reference 2 separate physical memory locations. There's no way for one program to access or edit memory of another process by writing/reading its own virtual address space. It can only be done by "asking" operating system to do it (using API calls like "WriteProcessMemory" or "ReadProcessMemory")

So if you'd like to modify that internal mod to work from outside of the process, you'll have to use "WriteProcessMemory" instead of using " *pointer = value;"
Therefore, I realized that not everything was in order, I did not use wpm
https://pastebin.com/ZwuFTm5i Ctrl+F "if (pooraim) "
 

amoreamoreamore

Active member
Joined
May 3, 2019
Messages
38
Reaction score
10
Location
Saint-Petersburg
Okay, due to the fact that I am translating from internal, I just don't understand where I should write x1, y1, z1 .

In other aimbots, the float value is written to 0xB6F258. This is CamXPos and Z, LOL. There is also CamYPos - 0xB6F248. I tried to write it down, my aim flies to the sky
 

amoreamoreamore

Active member
Joined
May 3, 2019
Messages
38
Reaction score
10
Location
Saint-Petersburg
I solved this. I should write this and put in timer

C++:
                    WriteProcessMemory(hProcess, (LPVOID)(pMtrx2 + 0x30), &x1, sizeof(x1), 0);
                    WriteProcessMemory(hProcess, (LPVOID)(pMtrx2 + 0x34), &y1, sizeof(y1), 0);
                    WriteProcessMemory(hProcess, (LPVOID)(pMtrx2 + 0x38), &z1, sizeof(z1), 0);
 
Top