How to load a pointer address into a symbol?

Anything Cheat Engine related, bugs, suggestions, helping others, etc..
Post Reply
Mister Modification
Expert Cheater
Expert Cheater
Posts: 118
Joined: Sun Mar 05, 2017 6:31 pm
Reputation: 59

How to load a pointer address into a symbol?

Post by Mister Modification »

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). :D
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)


TimFun13
Expert Cheater
Expert Cheater
Posts: 1354
Joined: Fri Mar 03, 2017 12:31 am
Reputation: 6

Re: How to load a pointer address into a symbol?

Post by TimFun13 »

Try something like this:

Code: Select all

[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,$8)

label(code)
label(return)

newmem:

code:
cmp dword ptr [rax+24],00
mov [address], rax // store the base address
// Then in a memory record use '[address]+24' to point to the health address.
jmp SouthPark_TFBW.exe+65FFC92
jmp return // this code won't ever run because of the jump before it

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:
dq 00

unregistersymbol(Player)
unregistersymbol(address)
dealloc(newmem)

Mister Modification
Expert Cheater
Expert Cheater
Posts: 118
Joined: Sun Mar 05, 2017 6:31 pm
Reputation: 59

Re: How to load a pointer address into a symbol?

Post by Mister Modification »

ShyTwig16 wrote:
Thu Mar 19, 2020 11:11 pm
Try something like this:

Code: Select all

[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,$8)

label(code)
label(return)

newmem:

code:
cmp dword ptr [rax+24],00
mov [address], rax // store the base address
// Then in a memory record use '[address]+24' to point to the health address.
jmp SouthPark_TFBW.exe+65FFC92
jmp return // this code won't ever run because of the jump before it

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:
dq 00

unregistersymbol(Player)
unregistersymbol(address)
dealloc(newmem)
Thank you very much for your support. I will give credit when I release that cheat table. :)

Post Reply

Who is online

Users browsing this forum: No registered users