View previous topic :: View next topic |
Author |
Message |
Mr.realdoge Advanced Cheater Reputation: 1
Joined: 01 Aug 2016 Posts: 56 Location: Lordran
|
Posted: Wed Jun 07, 2017 3:33 am Post subject: AA tip |
|
|
Is there anyway to do this:
Code: | aobscan(findit,ABCDEFABCDEF) |
and if the above should not work then this:
Code: | aobscan(findit,ABCDEFABCDABCD) |
and if the above does not work then this:
Code: | aobscan(findit,ABCDEFABCDABEE) |
and so on
_________________
( ͡° ͜ʖ ͡°) its always christmas |
|
Back to top |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25295 Location: The netherlands
|
Posted: Wed Jun 07, 2017 4:02 am Post subject: |
|
|
yes and no. in pure AA, no. if the aobscan doesn't find it the script will terminate.
but with Lua you can do 3 such scans, and then pass that result to the auto assembler.
But why not use a longer aob with wildcards ?
e.g aobscan(findit,ABCDEFABCD****ABC*EF)
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
Back to top |
|
|
Mr.realdoge Advanced Cheater Reputation: 1
Joined: 01 Aug 2016 Posts: 56 Location: Lordran
|
Posted: Wed Jun 07, 2017 4:09 am Post subject: |
|
|
Actually my problem is that everytime you go into a different area of the game the aob changes , so for different areas of the game i have to use different aobscans.Any ideas what I should do?
P.S.:The aob changes in such a way that my constant bytes become dynamic & my some of my wildcards become constants.
EG:
aob for area 1: AB CD EF ?? ?? ??
aob for area 2: ?? ?? ?? ?? AB CD
_________________
( ͡° ͜ʖ ͡°) its always christmas |
|
Back to top |
|
|
Csimbi I post too much Reputation: 94
Joined: 14 Jul 2007 Posts: 3110
|
Posted: Wed Jun 07, 2017 4:22 am Post subject: |
|
|
Sounds like each map/level/area has its own code. Could be the code generated by some script.
Anyway, try making your AOB search much longer and longer.
At some point, you will surely find a pattern.
You can also try using offsets if need be.
If all that fails and you still want to stick to AA, then just create multiple scripts.
Then, try enabling all. You will find that only the one(s) with the successful AOB scans will be enabled.
|
|
Back to top |
|
|
Mr.realdoge Advanced Cheater Reputation: 1
Joined: 01 Aug 2016 Posts: 56 Location: Lordran
|
Posted: Wed Jun 07, 2017 4:30 am Post subject: |
|
|
My actuall aob for one map is already extremly long
aob for 1 map:
Code: | aobscan(find,FF FF FF FF FF FF FF FF ?? ?? ?? ?? ?B ?? ?? 0? 00 00 00 00 ?? ?? ?? ?? ?? ?? ?? 0? ?B ?? ?? 0? 00 00 00 00 ?? ?? ?? ?F 00 00 00 00 00 00 00 00 ?? ?? ?? 4? ?? ?? ?? ?? ?? ?? ?? C1 00 00 80 3F ?? ?? ?? 4? ?? ?? ?? ?? ?? ?? ?? C1 00 00 80 3F 00 00 01 00 01 ?? ?? ?? ?? ?? ?? 10 ?? ?? ?? 10 ?? ?? ?? 10 ?? ?? ?? ?? ?? ?? ?? 0?) |
(I'm hoping for some lua magic(from you guys,because idk how to))
_________________
( ͡° ͜ʖ ͡°) its always christmas |
|
Back to top |
|
|
ParkourPenguin I post too much Reputation: 140
Joined: 06 Jul 2014 Posts: 4299
|
Posted: Wed Jun 07, 2017 9:16 am Post subject: |
|
|
Scanning for memory that's being written to usually isn't a good idea for this reason. Look at what code is writing to that address and hook it to get a reference to the address you want.
If you don't want to do that...
Code: | [ENABLE]
{$lua}
local patterns = {'01 23 45 67 FE DC BA 98', -- first pattern to try to find
'F0 1E D2 3C B4 5A 96 78', -- second ^
-- etc...
}
for _,v in ipairs(patterns) do
local res = AOBScan(v, '+W-C', fsmNotAligned, '') -- change alignment if possible to speed up scans
if res then
assert(res.Count == 1, 'Multiple results found.')
local addr = res[0]
res.destroy()
return string.format('define(findit,%s)', addr)
end
end
error('No results found.')
{$asm}
//... |
Note that this may take an extraordinarily long time to complete the scans under the right circumstances. Make the alignment params passed to AOBScan as restrictive as possible to speed up the scans significantly. You could also optimize it in other ways depending on the signatures.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
|
|