virgo How do I cheat?
Reputation: 0
Joined: 11 Oct 2023 Posts: 1
|
Posted: Wed Oct 11, 2023 3:27 pm Post subject: Finding the base address of a structure in PPSSPP games |
|
|
As example I will hack GTA LCS that is launched in 32-bit PPSSPP but the game can be launched in 64-bit PPSSPP too.
I haven't worked with emulator games before. I’m familiar with structures, so I found the car health address and tried to use the debugger in CE (I’m using the latest version 7.5) to find what writes to this address or what reads from this address.
I expected to see something like opcode [register+offset], where the register contains the base address of the structure of a specific car in the game world, and the offset is the offset in bytes from the beginning of the structure to the address/field of health in the structure. For example, in the games GTA 3, VC, SA on PC, this works like this and, in others games too, since structure is arranged the same everywhere.
However, I saw something like movss [edi+0C400268], xmm2, logically in edi there should be a base address of the structure, but there is an address that is located in memory much higher relative to the health address of the car and the offset, as you can see, 0x0C400268 is also quite huge. I tried to find at least something through the automatic pointer search in CE, but there is 0, however, if you set the maximum offset value before starting the search to 999999, it will start to find something, but the beginning of the pointer will be something like "PPSSPPWindows.exe"+0004D110.
The question is, what is the trick here and is it still possible to find the base address of the structure in emulators?
|
|