 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
.Highs How do I cheat?
Reputation: 0
Joined: 17 Nov 2016 Posts: 1
|
Posted: Thu Nov 17, 2016 7:43 pm Post subject: Advice on finding pointer base when no opcodes show up |
|
|
I using the PCSX2 Emu playing Metal Gear Solid 3: Snake Eater.
I can find the address for my health, change the value and replace with NOP. All of this works fine, but when I change zones, the address of the health also changes and everything goes away.
After searching the forums, I did the multi pointer tutorial through CE. I completed it but when I tried to use this method in my game, I did not get it to work.
I did the normal method to find my health's address (2023F838). While losing health, I right click > Find out what accesses(/writes) to this address. It was populated with multiple instructions (my ASM knowledge non-existent).
I double clicked the first one since my health was already being damaged.
Found the value between the brackets [] which was [ecx] ecx=2023F838 and did a hex search on it. (Btw this was the same address I started off finding my health at)
Manually added the new pointer address, changing the type to a double (health's data type) and making it a pointer with 0 offset, since there was no calculation.
This is where I hit a brick wall... I do the same thing as before, right-click>Find out what accesses this address>Find out what accesses this pointer. I play in game, get hit by enemies, lose health by using the cigar, change zones, anything... but no opcodes ever populate the list.
I've tried using the automatic scan and it either empties out the list when I do the game restart method or shows the address I originally found when I do the rescan. I've tried almost all the instructions at the first dynamic address, haven't been able find any that shows opcodes here.
Any advice on what I could do, or what I am missing here would be greatly appreciated!
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25792 Location: The netherlands
|
Posted: Thu Nov 17, 2016 7:59 pm Post subject: |
|
|
The problem with emulators is that normal pointers won't work because the addresses are offset by a certain value.
e.g epcsx2 has it's memory start at 20000000 so, a pointer to 2023f838, actually has as value 23f838.
and since the instruction you found with "find what accesses/writes" is an address of the emulator and not the game, the offset it useless as well.
So, try searching for a value between 23f000 or 23f800 and 23f838.
Perhaps one of those will be a usable pointer.
Also, because the addresses are offset by 20000000, so are the offsets.
So, if you find an address with value 23f800 , then it needs as offset 20000038 (20000000 for the base, and +38 for the offset)
_________________
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 |
|
 |
|
|
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
|
|