| View previous topic :: View next topic |
| Author |
Message |
george_47 How do I cheat?
Reputation: 0
Joined: 11 Oct 2013 Posts: 3
|
Posted: Fri Oct 11, 2013 2:11 am Post subject: Code injection for dynamic address |
|
|
Hi,
I have a dynamic address changing everytime when game restarts, but pointer scan for this address can't determine a pointer for this address.So i think i can assign the value of this address to specific static address through code injection because i know esi register and offset value in the instruction that writes to this address.But i dont know which spesific address that isn't used for the game i can use.
|
|
| Back to top |
|
 |
daspamer Grandmaster Cheater Supreme
Reputation: 54
Joined: 13 Sep 2011 Posts: 1588
|
Posted: Fri Oct 11, 2013 4:12 am Post subject: |
|
|
check what access or writes to that address.
_________________
I'm rusty and getting older, help me re-learn lua. |
|
| Back to top |
|
 |
george_47 How do I cheat?
Reputation: 0
Joined: 11 Oct 2013 Posts: 3
|
Posted: Fri Oct 11, 2013 4:54 am Post subject: |
|
|
| DaSpamer wrote: | | check what access or writes to that address. |
I check that and it says "The value of the pointer needed to find this address is probably ....(hex number)".Then i search for this hex number with hex option ticked and an address that point the first address is found.But the hex value in the address instantly changes so i can't a pointer for this address.Therefore i want to use specific static address and same time the game musn't use this static address for its calculations, thence i can assign the value of address to the address i specify through code injection.But i dont know how to find such specified address.
|
|
| Back to top |
|
 |
daspamer Grandmaster Cheater Supreme
Reputation: 54
Joined: 13 Sep 2011 Posts: 1588
|
Posted: Fri Oct 11, 2013 5:01 am Post subject: |
|
|
You're trying to find a pointer,
I mean do assembly injection..
I think it's step 4 in the cheat engine tutorial.
_________________
I'm rusty and getting older, help me re-learn lua. |
|
| Back to top |
|
 |
george_47 How do I cheat?
Reputation: 0
Joined: 11 Oct 2013 Posts: 3
|
Posted: Fri Oct 11, 2013 5:20 am Post subject: |
|
|
| DaSpamer wrote: | You're trying to find a pointer,
I mean do assembly injection..
I think it's step 4 in the cheat engine tutorial. |
Thanks, i check this and it explains how to code injection but it doesn't explain how to find a address game or process doesn't use.For example i determined a such address that is 0x12345678 and value of esi register is 71234567 and offset is 7 in the instruction code i found.I want do this in the injection:
mov [12345678],esi+7
But how can i find such address(0x12345678) that game doesn't write?I mean this address must not affect game,it must be allocated.
|
|
| Back to top |
|
 |
SteveAndrew Master Cheater
Reputation: 30
Joined: 02 Sep 2012 Posts: 323
|
Posted: Fri Oct 25, 2013 3:11 pm Post subject: |
|
|
But george this isn't 1808 dude! You don't find addresses that the game doesn't use / code caves... You allocate your own memory if you need to, don't be concerned that this address is located at a certain place as you seem to think matters (your ex. 0x12345678)
Here do this george for an example of how we do things these days...
Like DaSpamer said find what writes to (or acceses) it like you seem to be doing, but your clicking more info only...
On the instruction you think is it hit show dissasembler:
Now with the address it has brought you to, press in this combination... CTRL + ALT + A(Open autoassembler window), CTRL + ALT + T (Enable/disable template), CTRL + I (Automatically sets you up with a script to work from)
You will be given something like this:
And 'newmem' is actually some of our very own allocated memory with 2048 bytes of memory we can use! So because the template hooked us up with 2kb there, that's plenty for now you don't have to allocate more you can just make a new label and put either code or data there, your choice.
I then modified it like this to show an example of taking advantage of some of this allocated memory...
I only registered one symbol as it was the only one I cared about in this instance to be able to get its address... When registered as a symbol you can add them to your CT, as either the way they are, or use them as a base pointer with offsets to get you further! Not registered is still good enough in most cases, can still be used anywhere in the script! Only if it really needs to be more global, then register it as a symbol!
_________________
|
|
| Back to top |
|
 |
|