• # Thread: Using pointers and offsets

1. ## Using pointers and offsets

Hi everyone this is a brief tutorial about multi level pointers specifically for External Hacks. We will be using ReadProcessMemory(RPM) and WriteProcessMemory(WPM) so if you know how those functions are or what they do check out my tutorial on those because it will make this easier to follow. https://guidedhacking.com/showthread...eProcessMemory This tutorial is for noobs who are confused with when to use pointers / offsets and their general purpose. I will not be showing you how to find addresses using cheat engine because there are plenty videos on that. The game I will be referring to is Assault Cube. So lets begin.

When trying to change your health or ammo in a game we have to find the address and then change the value of it once we obtain the correct address. When making hacks we have things such as static pointers. These are pointers that always point to a certain thing. The address that a static pointer points to is usually dynamic and will change every time you close and reopen your game. In Assault Cube and most games there is no static address for our health and ammo so we have to use multi level pointers to get to it. I will show you how we can get to our health address and the general logic behind it.

```DWORD pLocalPlayer = 0x509B74;	//local player pointer
DWORD health = 0x0;					//health address

The code that you just saw reads what is stored in pLocalPlayer which is our pointer to our player base address. It then stores that in playerObjectAddress which is the same thing as our player base address. We then add our player base and our health offset to get our health address. We could then do things like store our health value you in int healthValue and display it by adding this code.

```int healthValue = 0;
std::cout << "your health is: " << healthValue;```

I hoped this helped new hackers understand the logic behind using static pointers to addresses and how to use offsets. I will be making a tutorial on organization techniques in external hacks and show useful functions you can use to make multilevel pointer scanning easier! If there are any errors let me know and I will fix them!

2. ```DWORD pLocalPlayer = 0x509B74;  //local player pointer
DWORD health = 0x0;            //health address
int healthValue = 0;        //health value
HANDLE hProcHandle = OpenProces.....