| View previous topic :: View next topic |
| Author |
Message |
Shikakapoop Expert Cheater
Reputation: 2
Joined: 29 Nov 2006 Posts: 128
|
Posted: Wed Sep 23, 2009 12:51 am Post subject: Need help with a pointer offset [ecx+eax*4] |
|
|
So here's the deal.
I'm looking for the static pointer for ammo in this game.
On my 3rd pointer, I run into this offset.
I'm not exactly sure what I need to do with this offset when setting up my next pointer. What's throwing me off is the EAX*4.
Just to show I did try to figure it out on my own, I tried taking EAX (0669D9F8, both the address and the value of that address, which was 2c) and multiplying it by 4 (EAX*4), though that didn't return the correct addresses. I'm guessing that's not what that offset means to do lol.
So what do I do with this offset?
edit: Gamemodding. Noted.
_________________
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25860 Location: The netherlands
|
Posted: Wed Sep 23, 2009 2:29 am Post subject: |
|
|
that is because the registers are shown after execution
anyhow:
ecx+eax*4=known address
eax*4=known address-ecx
eax=(known address-ecx) / 4
and known address is the address you use "find out what accesses" on
_________________
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 |
|
| Back to top |
|
 |
Shikakapoop Expert Cheater
Reputation: 2
Joined: 29 Nov 2006 Posts: 128
|
Posted: Wed Sep 23, 2009 2:45 am Post subject: |
|
|
| Dark Byte wrote: | that is because the registers are shown after execution
anyhow:
ecx+eax*4=known address
eax*4=known address-ecx
eax=(known address-ecx) / 4
and known address is the address you use "find out what accesses" on |
Yay, help from the master!
Okay I think I get it. Probably not though. Let's see.
What I did was search for ecx to find the next pointer. I got a list of 3.
0669CE34
1E7C18D1
1E7C1941
I'm going to assume it's 0669CE34.
Also, should I be using Memory Access Exceptions in all cases, preferably?
edit: Didn't work, wrong again. I might not understand correctly. But I'm gonna try scanning again with Access Exceptions instead and see if I get something different.
editt: Got some different register results with access exceptions.
edittt: AHAA! Got it. I just needed to do access exceptions instead.
I was reading the Extra info correctly, I just misread how you were explaining it lol.. My bad. But yeah I multiplied 11 (EAX) by 4 and the pointers fell back in line.
Debug Register was giving me values that wouldn't work at this point.
Check it!
editttt: Damnit, the game crashed on my next "find out what accesses" scan.. ugh..
Oh wow, that's a first. I loaded the game up again and kept the tables aaaand none of the addresses changed. Huh.
..
Hmm.. The game keeps crashing on this scan now. Any ideas?
_________________
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25860 Location: The netherlands
|
Posted: Wed Sep 23, 2009 4:14 am Post subject: |
|
|
access violations will crash your game 80% of the time
just use debug registers
anyhow, you probably misunderstood what I tried to explain
You did a "find out what accesses this address" on an address
you know that address, else you wouldn't be able to use that function
So let's call that address "Known address"
so eax=(known address-ecx) / 4
_________________
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 |
|
| Back to top |
|
 |
Shikakapoop Expert Cheater
Reputation: 2
Joined: 29 Nov 2006 Posts: 128
|
Posted: Wed Sep 23, 2009 4:57 am Post subject: |
|
|
| Dark Byte wrote: | access violations will crash your game 80% of the time
just use debug registers
anyhow, you probably misunderstood what I tried to explain
You did a "find out what accesses this address" on an address
you know that address, else you wouldn't be able to use that function
So let's call that address "Known address"
so eax=(known address-ecx) / 4 |
I see now..
08174560 = ecx+eax*4
08174560-ecx = eax*4
(08174560-08174500)/4 = eax
eax = 18
so the offset is 18*4. 60!
That's so cool!
Your algebraic skills have opened my eyes. Thank you so much ^_^!!
_________________
|
|
| Back to top |
|
 |
|