mrjunior Newbie cheater
Reputation: 1
Joined: 07 Jul 2018 Posts: 12
|
Posted: Sat Nov 04, 2023 8:16 am Post subject: |
|
|
To begin with 2000 addresses is a lot and I would recommend looking for other instruction (unless you know there are 1999 entities currently loaded).
If you got the right instruction, imagine you have operation like this
You know that eax is the address to the structure and B0 is the HP offset. Click "Find out what addresses this instruction accesses". You get a list of addresses, right click on player's address -> "Find commonalities between addresses" -> "Mark as group 1". Select the rest and mark as Group 2. Then go for "Find commonalities between addresses" -> "Scan for commonalities". Choose the register that contains the address (in my example: eax). Run the scan, look for values that are consistently the same for the player, while consistently different for everything else (comparing enemies vs player it could be a convenient 1 for player, 0 for enemies or vice versa). Pick the offset which you feel is right (it might not always be what it is right now, so you'd be better off picking a bunch for future). Then in the code you can simply do something like
Code: | cmp [eax+3C],0 // for example +3C is always 0 for player, and not 0 for enemies
je hookplayer
hookplayer:
mov [playerBaseAddress],eax |
|
|