|
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
StarfireTBT Cheater Reputation: 1
Joined: 15 Aug 2015 Posts: 44
|
Posted: Wed May 10, 2023 7:11 pm Post subject: address changing |
|
|
addresses of values change often in a game, sometimes even in the same session. How do I find the address of a value that doesn't change?
I thought it was find the address of a value and then find what writes to that address, and while I did find what looks like a permanent address I can't seem to find a way to get to that address from cheat engine. |
|
Back to top |
|
|
LeFiXER Grandmaster Cheater Supreme Reputation: 20
Joined: 02 Sep 2011 Posts: 1053 Location: 0x90
|
Posted: Thu May 11, 2023 7:26 am Post subject: |
|
|
You may want to look into AOB injection. You can allocate a section of memory to store the pointer address as a reference for use within the table e.g.:
Code: |
aobscan(inject, ..., ....)
alloc(newmem,$1000,inject)
alloc(my_ptr,size) // where size is the amount of bytes required. Usually 4-bytes for 32-bit or 8-bytes for 64-bit
registersymbol(my_ptr)
newmem:
mov [my_ptr],register // Where the register is the register that holds the pointer address
originalcode:
...
|
You can use your address in the table by assigning the address the name of the symbol, in this case 'my_ptr'. Sometimes, you may need to surround the symbol with square brackets like so '[my_ptr]'. |
|
Back to top |
|
|
StarfireTBT Cheater Reputation: 1
Joined: 15 Aug 2015 Posts: 44
|
Posted: Thu May 11, 2023 1:28 pm Post subject: |
|
|
Do I do that by typing CTRL+ALT+L and then cut and paste what you wrote except for the "..., ...." where I would then put the address I found that writes to the value I want?
So for example
"aobscan(inject, "the address I want")
alloc(newmem,$1000,inject)
alloc(my_ptr,size) // where size is the amount of bytes required. Usually 4-bytes for 32-bit or 8-bytes for 64-bit
registersymbol(my_ptr)
newmem:
mov [my_ptr],register // Where the register is the register that holds the pointer address
originalcode:
"I don't know what you want me to put here" |
|
Back to top |
|
|
LeFiXER Grandmaster Cheater Supreme Reputation: 20
Joined: 02 Sep 2011 Posts: 1053 Location: 0x90
|
Posted: Thu May 11, 2023 1:43 pm Post subject: |
|
|
StarfireTBT wrote: | Do I do that by typing CTRL+ALT+L and then cut and paste what you wrote except for the "..., ...." where I would then put the address I found that writes to the value I want?
So for example
"aobscan(inject, "the address I want")
alloc(newmem,$1000,inject)
alloc(my_ptr,size) // where size is the amount of bytes required. Usually 4-bytes for 32-bit or 8-bytes for 64-bit
registersymbol(my_ptr)
newmem:
mov [my_ptr],register // Where the register is the register that holds the pointer address
originalcode:
"I don't know what you want me to put here" |
It's an auto assembler script. Also, missing A LOT of information because it's different for every game. Search YouTube AOB injection script, it will point you in the right direction |
|
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
|
|