Solved Question relating to the basic Memory-mechanics

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

Feve

Newbie
Aug 2, 2014
3
102
0
Hello! After looking lots of Tutorials, I still have a few questions:
-Pointers are a kind of variables which store the Address of other variables. When I create a pointer in C++, it is so dynamically like a normal variable, so the RAM allocates new memory each time I restart the Program, so that the pointers have different addresses each time . But by using memory hacking we use the addresses of pointers we found, but why do these addresses not change after restarting the game?
- What are Multilevel pointers? Are that pointers which do not belong to a specific level?
 

Cyrion

Coder
Dank Tier Donator
Nobleman
Dec 31, 2013
107
618
7
1- I would say that, each time you restart the game, your OS doesn't allocate the memory of the game at the same place so that's why the address is different , but the path to this address(In the game memory) , using pointer , is the same. (I'm not sure about what i said , but thats how i understand it.)

2- Offset are just a way to move through the memory. Example, we have address 0x750000 has Class Base address , if you know that the HP is located at 0x750010, then u can say that 0x750000 + Offset 0x10 = HP.(Base + Offset)

And so , when we talk about Multi Level pointer , sometimes we have few Offset , these offset contains address (DWORD) thats brings us to somewhere else in the game memory. Sometimes , we can start with a "client.dll" + 0x9DF064 as a base address , that points to another address , and then, this pointed address + an Offset , brings us to another address that points to another one , etc .. to finaly get our Player Base or whatever you're are looking for ..
 

Cyrion

Coder
Dank Tier Donator
Nobleman
Dec 31, 2013
107
618
7
1- Pointers point to a address that countains our info. Pointers != Address. The address does change each time we close the program, that's why we use pointer that always point at our info address.

2- Multilevel pointer means that to reach our info address , we need to use 2 or more offset like : ((("client.dll" + 0x123456) + 0x2C) + 0x110) points to our info address ...

I don't know if im explanation is right, it's kinda hard for me to explain since i'm still a beginner and english isn't my primary language :p
 

Feve

Newbie
Aug 2, 2014
3
102
0
Thank you for your answer!
Yes, a pointer is not an address, it contains one, but I mean the pointer is in fact a variable (the pointer itself has an address, too) ,so that the address of the pointer changes each time the game is being restarted, isn't it?
Btw, what is an offset? I know the byte-operator in C++ and I learned that an offset is sth. like the distance from one variable to another in bytes. But what is the sense of it when I have to write the offset when I, for Instance, want to manually add a pointer. I mean I alread have the pointer's address.
 
Last edited:
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Community Mods