
Originally Posted by
why06
Let's keep it simple. Okay Pointers. I'll give you a start, but its a lot to cover so I won't be able to teach you it all in this post, but I'll give a quick summary. Every variable stores it's value in memory. You know RAM. So because of that every variable is essentially that location in memory. When the compiler compiles code it does not use names to refer to variables as we do, it uses Addresses. Each variable has a location in memory, an address. The value the variable stores is at that address space. Does it make sense then that a variable is only made up concept. It exists in code, but once its compiled that variable only consists of a location and data stored in that location.
That's the general description. To hack you'll have to figure out how that data is stored and how to access the address the data is stored at. It's not necessary to learn C++ to use memory searchers, but you will want to use it because memory searchers and other tools are limited. Maybe at first you'll want to learn just enough to code a trainer, but eventually you'll need a thorough understanding of the language as you get more adventurous.
dont get me wrong, i agree that pointers are a necessity, but if you plan to make cheats on the windows platform you will need to understand how some of the shit works under the hood. you won't be able to get direct memory access if you don't have your own module inside the target, so right off the bat you need some windows api to get to the point where you can use pointers to access another process's memory.
more importantly, if he plans on going further with game hacking and/or reverse engineering, he will most likely run into some sort of problem revolving around the windows platform. for example, if he wants to unpack some virtualized code, he will be dealing with the PE. if he wants to start making some more advanced hacks besides simple memory editing, like replacing/detouring a function, he will most likely be dealing with breakpoints & exception handling or a simple detour by changing some bytes around. and if he wants to go even further and completely destroy whatever protection the game uses he could go into drivers and remove/set system wide hooks that the protection software is using.
disregarding everything i just said, if hes on the windows platform and is a programmer, he will eventually get to the point where he wants to make something other than a console using only standard functions.
but yes, pointers are very important.
EDIT: when youre using that function that cheat engine gives you, im assuming it sets a breakpoint on that address, when its accessed, it breaks, gets handled by an exception handler and return the address that tried accessing it.
PS: setting breakpoints and an exception handler requires Windows API if youre on windows