| View previous topic :: View next topic |
| Author |
Message |
glenc70 How do I cheat?
Reputation: 0
Joined: 14 Jan 2012 Posts: 5
|
Posted: Sat Jan 14, 2012 2:02 pm Post subject: company of heroes opossing fronts and eax register |
|
|
when i play this game say on level one i scan for my values which i find and change the values are always stored in the address that is held in the eax register plus an offset the problem is when i go to level 2 the address in eax has changed but it is still for the values mention plus the offset, now the offsets are always the same but the address in eax isnt the thing is i know about base pointers and tried scanning for them but i get nothing found at all the values are float numbers if that makes any difference here is an example of what i mean
Level 1
EAX = 26FBECC0
manpower = [EAX+4]
ammo = [EAX-4]
FUEL = [EAX+C]
Level 2
EAX = 1992BD14
manpower = [eax+4]
ammo = [eax-4]
fuel = [eax+c]
is there a way of making all the values in my cheat list (address list) always track the address stored in eax and change accordingly so say i add an address manually and i put eax+4 it will always track eax even when i change the level if you see what i mean.
oh i forgot to mention i have tried scanning for a base pointer or any pointer but 0 addresses found every time, and the values are for float values if that makes any difference
thanks
|
|
| Back to top |
|
 |
bolav How do I cheat?
Reputation: 0
Joined: 13 Jan 2012 Posts: 7
|
Posted: Sun Jan 15, 2012 9:46 pm Post subject: |
|
|
I think you either need to use a assembly script to get the values where they change it, or you need to do a better job at getting the base pointer.
If scanning for the pointer doesn't work for you, you can trace the code, and find how the function loads EAX you should be able to trace it back to where the pointer gets loaded.
|
|
| Back to top |
|
 |
glenc70 How do I cheat?
Reputation: 0
Joined: 14 Jan 2012 Posts: 5
|
Posted: Tue Jan 17, 2012 4:33 am Post subject: company of heroes |
|
|
i have found this instruction
fld [eax]
add [eax+ecx]
fstp [eax-4]
would this be the pointer
the thing is i know how to find 4 byte pointers and base pointers and for all the other value types but the floats types which for some reason i find a bit baffling
|
|
| Back to top |
|
 |
bolav How do I cheat?
Reputation: 0
Joined: 13 Jan 2012 Posts: 7
|
Posted: Tue Jan 17, 2012 4:40 am Post subject: loading pointer |
|
|
No, you need to find where eax is set.
Usually something like
mov eax,[esi]
or
mov eax,[esp+4]
The last one would indicate that the pointer is sent as a parameter to the function, and you need to dig deeper to find out how you can find the pointer.
As you know where the code gets changed, I think it would be faster for you to make a autoassemble script, and change them there.
|
|
| Back to top |
|
 |
|