How to load a pointer address into a symbol?
Posted: Thu Mar 19, 2020 7:56 pm
Hello everyone,
I want to get the address of that dword ptr [rax+24] on it´s original place and store it under a registered symbol so that I can use it to get my Player based values like health, flags and other nice stuff (which are in my player object) all the time.
Player object gets destroyed after every fight so pointers or aob scans are useless. Unless somebody knows some tricks i don`t.
That dword ptr [rax+24] knows the address of max health. I want that address and it´s value without moving it somewhere else.
I only managed it to store the value to a new mem place (although practice was nice).
I want to get the address of that dword ptr [rax+24] on it´s original place and store it under a registered symbol so that I can use it to get my Player based values like health, flags and other nice stuff (which are in my player object) all the time.
Player object gets destroyed after every fight so pointers or aob scans are useless. Unless somebody knows some tricks i don`t.
That dword ptr [rax+24] knows the address of max health. I want that address and it´s value without moving it somewhere else.
I only managed it to store the value to a new mem place (although practice was nice).

Spoiler
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(Player,SouthPark_TFBW.exe,83 78 24 00 EB 38) // should be unique
alloc(newmem,$1000,"SouthPark_TFBW.exe"+65FFC54)
alloc(address,$4)
label(code)
label(return)
newmem:
code:
cmp dword ptr [rax+24],00
mov eax, dword ptr [rax+24]
mov [address], eax
jmp SouthPark_TFBW.exe+65FFC92
jmp return
Player:
jmp newmem
nop
return:
registersymbol(Player)
registersymbol(address)
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
Player:
db 83 78 24 00 EB 38
address:
dd 00
unregistersymbol(Player)
unregistersymbol(address)
dealloc(newmem)