 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
membrain Newbie cheater
Reputation: 0
Joined: 04 Nov 2005 Posts: 10
|
Posted: Wed Jan 07, 2009 2:28 am Post subject: addy offset by -/+ 30... why? |
|
|
In doing a pointer search I ran into a couple issues that I dont understand, and cant seem to find a solution, or reason that I can comprehend.
Ive ran thru CE's tutorial, no problem'O... I applied what it's example showed to a "casual" game with no success. Heres what happend:
I got the address to -ammo- in my cheat table,
I did the "find what writes to this addy" and got some code
I Dbl clicked it, found the code marked in RED, mov [ecx+00000218], esi
I took the value from "The value of the pointer need..." which is: 00c03290, which is what "ecx is equal to" (esi is the value of the ammo currently)
I did the search in hex for 00c03290, and NOTHING!
I then let CE find the pointer on the original addy i found the ammo to be at for me with the pointer search, and it found the pointer.
The value for the pointer it found was: "This pointer points to address" reads: 00c03260 and in the offset: 248, where'as in the "Extra Info" window, Highlited in red it said 218.
I have a picture, but am not allowed to post it w/e. rules r rules...
I'm not sure what it is exactly that I dont know, as far as whats happening, why this difference in 30 is there... subtracted from the pointer value, and added to the offset value? I'm clueless.
_________________
.~~
..~~~
...~~~~
....~~~~~
.....~~~~~~
......~~~~~~~
.......~~~~~~~~ |
|
| Back to top |
|
 |
-DEViL- Expert Cheater
Reputation: 3
Joined: 21 Apr 2007 Posts: 185
|
Posted: Wed Jan 07, 2009 4:45 am Post subject: |
|
|
| also,C03260->this address can be static.
|
|
| Back to top |
|
 |
membrain Newbie cheater
Reputation: 0
Joined: 04 Nov 2005 Posts: 10
|
Posted: Wed Jan 07, 2009 3:32 pm Post subject: |
|
|
The addy seems to be a single level pointer (1 lv deep) for that is all I need to go in when i find it manually with the 30-offset in mind. Also, in CE's pointer scan, I have it set to scan only 1 lv deep...
Here is some code info aswell as the original value i scanned for.
| Code: |
ORIGINAL ADDRESS: 00C034AC
...I dbl click on it, "find what writes to it" and get this:
0040adfb - mov [eax+0000021c], ecx {ecx = 5 (the value of the ammo)}
"The value of the pointer needed to find this address is probably: 00C03290
|
I perform a hex scan on the 00C03290 value, and get nothing in return.
I then do a scan on 00C03260 and a number of values come up, including one in GREEN which is the base pointer i need. I then proceed to do a manual address entry for a pointer with the offset of 24c... not 21c as was shown in the debug info above, and the pointer works perfectly!
The pointer addy I enter manually is: 00495D18 with offset: 24c
This pointer address leads to 00C034AC, which is what I want.
Here is some more code from ABOVE that "Extra Info" code.
| Code: |
0040ADC8 - 74 1a - je 0040ade4
0040ADCA - 8b d1 - mov edx,ecx
0040ADCC - 8b b4 10 18 02 00 00 - mov esi,[eax+edx+00000218]
0040ADD3 - 8d 0c 10 - lea ecx,[eax+edx]
0040ADD6 - 8b 91 20 02 00 00 - mov edx,[ecx+00000220]
0040ADDC - 2b f2 - sub esi,edx
0040ADDE - 89 b1 18 02 00 00 - mov [ecx+00000218],esi
0040ADE4 - 8b 4d 04 - mov ecx,[ebp+04]
0040ADE7 - 8b 94 08 20 02 00 00 - mov edx,[eax+ecx+00000220]
0040ADEE - 03 c1 - add eax,ecx
0040ADF0 - 8b 88 1c 02 00 00 - mov ecx,[eax+0000021c]
0040ADF6 - 5f - pop edi
0040ADF7 - 5e - pop esi
0040ADF8 - 2b ca - sub ecx,edx
0040ADFA - 5b - pop ebx
0040ADFB - 89 88 1c 02 00 00 - mov [eax+0000021c],ecx
|
_________________
.~~
..~~~
...~~~~
....~~~~~
.....~~~~~~
......~~~~~~~
.......~~~~~~~~ |
|
| Back to top |
|
 |
Labyrnth Moderator
Reputation: 10
Joined: 28 Nov 2006 Posts: 6301
|
Posted: Wed Jan 07, 2009 7:54 pm Post subject: |
|
|
Ok I deleted my post because I screwed up when I read your post.
C03290 & C03260 are values of an address.
But you have kinda went all over the place by saying the instruction was
mov [ecx+00000218],esi and now your at mov [eax+0000021c],ecx
But looking at the assembly your showing I would mess around with doing a code injection on 40ADDC sub esi,edx which is probably the decreaser of your ammo.
What was your address you found in scans?
What was your address found from the hex scan of C03290 & C03260?
|
|
| Back to top |
|
 |
membrain Newbie cheater
Reputation: 0
Joined: 04 Nov 2005 Posts: 10
|
|
| Back to top |
|
 |
Labyrnth Moderator
Reputation: 10
Joined: 28 Nov 2006 Posts: 6301
|
Posted: Thu Jan 08, 2009 10:00 pm Post subject: |
|
|
495D18+248 = address you scanned for and found ammo.
C03260 is 30 less then the value of the address ofthe assembly you are breaking on. Which is the ammo.
But the value of the address you break has no result,
This looks like a level 2 pointer.
If you take and manual add 495d18+30 in the #2 pointer and then 218 in the next offset box up. You will see the structure of it.
But what you did is something like I have done, 1 address with a offset to make the pointer.
495D18+248
|
|
| Back to top |
|
 |
membrain Newbie cheater
Reputation: 0
Joined: 04 Nov 2005 Posts: 10
|
Posted: Fri Jan 09, 2009 3:13 am Post subject: |
|
|
hmm...
I dont quite yet understand exactly what you mean, but I know it makes sense (to someone who knows these things) BUT! I will take your information and keep it in mind and I'm sure it will snap as I progress in my knowledge of memory / game hacking... Thanks a bunch.
this stuff is quite fun and interesting to me, and It would seem also addicting. Ive spent about 3 days str8 just messing around with CE, playing around with different games trying to learn more about the whole process..
_________________
.~~
..~~~
...~~~~
....~~~~~
.....~~~~~~
......~~~~~~~
.......~~~~~~~~ |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|