View previous topic :: View next topic |
Author |
Message |
delpo How do I cheat? Reputation: 0
Joined: 29 Nov 2016 Posts: 9
|
Posted: Sat Feb 25, 2017 4:16 am Post subject: aobscan constant write? |
|
|
I wrote a script that uses aobscan to scan for an array of bytes, and upon finding that array it replaces it with the new bytes I specified.
The problems is that whenever my character dies, the bytes I replaced get rewritten by a routine that I cannot nop or else the game will crash. I need some command in the script that will replace the bytes from aobscan not just once, but constantly (like how when you check the active box for a normal cheat it is constantly written to). Is there a simple command for constant write in auto assembler? Please see the code below to see what I'm asking for.
My code:
Code: | [ENABLE]
aobscan(steel,FF 00 FF 01 02 00 00 FF * * * FF)
steel:
db FF 00 FF 00 00 02 01 // I need this to be constantly written, not just written once
registersymbol(steel)
[Disable]
steel:
db FF 00 FF 01 02 00 00 FF
unregistersymbol(steel) |
|
|
Back to top |
|
|
Zanzer I post too much Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Sun Feb 26, 2017 8:17 am Post subject: |
|
|
Find out what instruction accesses the address when you die. NOP that instruction.
|
|
Back to top |
|
|
Lord Half-Maester Newbie cheater Reputation: 0
Joined: 16 Jun 2015 Posts: 14
|
Posted: Tue Feb 28, 2017 2:59 am Post subject: |
|
|
Zanzer wrote: | Find out what instruction accesses the address when you die. NOP that instruction. |
Hi there Zanzer, I had a very quick question about a previous table of yours but the system will not let me send you a private message.
Fantastic work, as always.
|
|
Back to top |
|
|
delpo How do I cheat? Reputation: 0
Joined: 29 Nov 2016 Posts: 9
|
Posted: Thu Mar 02, 2017 1:06 pm Post subject: |
|
|
Zanzer wrote: | Find out what instruction accesses the address when you die. NOP that instruction. |
" the bytes I replaced get rewritten by a routine that I cannot nop or else the game will crash."
As I said, I can't nop the routine as doing so will crash the game.
|
|
Back to top |
|
|
++METHOS I post too much Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Thu Mar 02, 2017 1:14 pm Post subject: |
|
|
Most likely, you can nop the problem instruction, but you will first have to filter out all of the other addresses that the instruction is accessing.
An alternative approach would involve adding the address(es) of the values that you are wanting to manipulate to your cheat table, and checking to see what is accessing them. Inject some code at one of the instructions that is accessing those addresses constantly so that the desired values are written constantly.
You can also add the addresses to your cheat table and perform a pointer scan on them, then freeze those pointers.
You can also use Lua and create a timer to write the desired value to those addresses.
|
|
Back to top |
|
|
Csimbi I post too much Reputation: 94
Joined: 14 Jul 2007 Posts: 3108
|
Posted: Fri Mar 10, 2017 2:21 pm Post subject: |
|
|
delpo, aobscan is a one-time scan.
It's not running constantly and you don't want to have it running constantly, either because it will kill performance.
Create a hook to your code cave and patch the values in your cave.
That will stick.
If your NOPs crash the game, then chances are good that the same code is used to update other values as well - all the more reason to create your own code cave.
|
|
Back to top |
|
|
pellik Advanced Cheater Reputation: 0
Joined: 14 Jun 2013 Posts: 93
|
Posted: Fri Mar 10, 2017 2:26 pm Post subject: |
|
|
You could make a lua script to freeze the value of the address that aobscan returns.
|
|
Back to top |
|
|
|