Dark Byte Site Admin
Reputation: 468 Joined: 09 May 2003 Posts: 25706 Location: The netherlands
|
Posted: Sun May 24, 2009 5:16 pm Post subject: FAQ: How to use a pointer |
|
|
Because this question comes back almost every week I'll try to explain how to work with pointers
I'm not going to tell you how to code it, but I will tell you what you have to do
Let's start with something easy, a level-1 pointer
you have a pointer where people say : 0048123C+10C , first off, this notation is wrong, the actual notation should be [0048123C]+10C, anyhow,
to get to the real address you have to READ the "4 BYTES" at 0048123C as a value, and add the value 10C to it. (Don't forget that the notation I use is in hexadecimal, even for offsets)
Now interpret this new value as an address, and you have the address that actually contains the address you need. Using this address you can now Write or Read from the specific item the pointer points to.
Now a little bit more complicated, a level-8 pointer:
Let's say you now have a pointer as noted down in ce:
Code: |
address offset
xxxxxxxx 108
xxxxxxxx 1c
xxxxxxxx 0
xxxxxxxx 118
xxxxxxxx 2c4
xxxxxxxx 34
xxxxxxxx c0
0049aadc 16
|
Note that an alternative method of writing this down would be:
[[[[[[[[0049aadc]+16]+c0]+34]+2c4]+118]+0]+1c]+108
So, first read the "4-Bytes" value at 0049aadc
Now add to that result the first offset (16)
then interpret the new value as an address and read the 4 Bytes at that address
Add to that the 2nd offset (c0) to the value you just read
Again, interpret the value as address and read the 4 bytes there
and add the 3th offset (34) to the new value
Read 4 bytes
Add 4th offset (2c4)
Read 4 bytes
Add 5th offset (118)
Read 4 Bytes
Add 6th offset (0) Yes, 0 can be an offset, it's nothing special
Read 4 Bytes
Add 7th offset (1c)
Read 4 bytes
Add 8th offset (108)
You now finally have the final address.
This final address points to the address you want to modify. E.g add +10, or freeze(write in a in a loop), or just simply read out for stats
I hope this clears up the most common questions from people trying to add pointers to their trainer
(also check out http://forum.cheatengine.org/viewtopic.php?p=5280115#5280115 for help on how to deal with modulename+offset notations) _________________ Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping
Last edited by Dark Byte on Mon Dec 05, 2011 9:16 am; edited 1 time in total
|
|