View previous topic :: View next topic |
Author |
Message |
Pirulito Newbie cheater Reputation: 0
Joined: 13 May 2017 Posts: 13
|
Posted: Fri Mar 02, 2018 1:21 pm Post subject: Use result of aobscan in aobscanregion |
|
|
Hi,
Is it possible to use the result of an AOBScan inside an AOBScanRegion?
Something like this:
[ENABLE]
registersymbol(result)
aobscan(result, 00 01 02 03 04 05 06)
aobscanregion(newresult,result-1000,result+1000,07 08 09 0A 0B)
....
What I want is: I want to use aobscan to find an address "A" (the "result"), which I can do easily. Then I want all my next aobscan's to scan only the region in memory that between $1000 bytes before and after address "A" because I know that they will be there.
I can use aobscan for all next scans but then it takes too much time because it will scan the whole memory again and again while I know that all results from next aobscan will be in the memory region delimited by A-1000 and A+1000.
How to implement this? Is it possible?
Thank you.
|
|
Back to top |
|
|
ParkourPenguin I post too much Reputation: 140
Joined: 06 Jul 2014 Posts: 4289
|
Posted: Fri Mar 02, 2018 2:05 pm Post subject: |
|
|
Pirulito wrote: | I can use aobscan for all next scans but then it takes too much time because it will scan the whole memory again and again... |
That's incorrect. CE adds each aob to a list and does a single pass scan for all of them at once. Using aobscanregion in the same script as aobscan won't speed it up significantly.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
|
Pirulito Newbie cheater Reputation: 0
Joined: 13 May 2017 Posts: 13
|
Posted: Fri Mar 02, 2018 6:28 pm Post subject: |
|
|
ParkourPenguin wrote: | ...
That's incorrect. CE adds each aob to a list and does a single pass scan for all of them at once. Using aobscanregion in the same script as aobscan won't speed it up significantly. |
Oh, if that is the case, then CE is already smart enough and indeed there is no need to try to do what I was thinking about doing (but actually I never found a way to implement that idea).
Thanks for the clarification.
|
|
Back to top |
|
|
AylinCE Grandmaster Cheater Supreme Reputation: 32
Joined: 16 Feb 2017 Posts: 1253
|
Posted: Fri Mar 02, 2018 6:41 pm Post subject: |
|
|
Pirulito wrote: | ParkourPenguin wrote: | ...
That's incorrect. CE adds each aob to a list and does a single pass scan for all of them at once. Using aobscanregion in the same script as aobscan won't speed it up significantly. |
Oh, if that is the case, then CE is already smart enough and indeed there is no need to try to do what I was thinking about doing (but actually I never found a way to implement that idea).
Thanks for the clarification. |
Why do not you add some more code to your side?
You do not have to keep the codes short.
Add code to get unique code.
Surely the code, there's more.
01 02 03 04 05 06 07 ?? ?? 0A 0B ?? ?? ?? 0F etc..
_________________
|
|
Back to top |
|
|
panraven Grandmaster Cheater Reputation: 55
Joined: 01 Oct 2008 Posts: 942
|
Posted: Fri Mar 02, 2018 9:15 pm Post subject: |
|
|
Sorry, may be misleading by my past forum comment,
multiple AOBScan in AA is not done by one pass,
but multi-threading call to memsan.
So each thread has to run its own pass.
The performance may depend on user's machine's core/thread condition at time of scanning. ref: source page, locate cpucount
For the original question, may try the Progressive Scan
It allow aobscan to use previous defined symbol.
It is updated with some support function and an example.
bye~
_________________
- Retarded.
Last edited by panraven on Sat Mar 03, 2018 1:12 am; edited 1 time in total |
|
Back to top |
|
|
ParkourPenguin I post too much Reputation: 140
Joined: 06 Jul 2014 Posts: 4289
|
Posted: Fri Mar 02, 2018 11:55 pm Post subject: |
|
|
That's not the case if you're just using aobscan and not a mixture of aobscan/aobscanmodule/aobscanregion. If there's more than one scan being performed over the same region of memory, CE will do a first scan with ValueType = vtByteArrays. This is a single-pass scan that can find several byte arrays.
See this git commit.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
|
panraven Grandmaster Cheater Reputation: 55
Joined: 01 Oct 2008 Posts: 942
|
Posted: Sat Mar 03, 2018 1:21 am Post subject: |
|
|
Wow, I see at last.
Not known the scan type vtByteArrays (multiple aob).
Thank you the correction.
_________________
- Retarded. |
|
Back to top |
|
|
Pirulito Newbie cheater Reputation: 0
Joined: 13 May 2017 Posts: 13
|
Posted: Sun Mar 04, 2018 1:59 pm Post subject: |
|
|
panraven wrote: | ...
For the original question, may try the ...
(url removed since it won't allow me to post)
It allow aobscan to use previous defined symbol.
It is updated with some support function and an example.
bye~ |
Thank you so much for this Progressive Scan. I managed to use it and it shorten the time it takes to scan all the strings I have to scan (16) from six seconds to less than a second.
But, unfortunately, my joy was short lived. When I tested it on several users, I found out that I WAS WRONG about assuming that the game would always store the strings in a contained region of the memory. It does that most of the times but sometimes it can store the strings very far apart from each other so the approach does not work always.
Now I am back to trying to find some other alternatives. The one that comes to my mind is to scan a string with wildcards that would find ALL strings in one go, in one scan only, so it would be a aobscan with multiple results. Then I would just have to iterate among all results and find the ones that I want. Do you know how I could accomplish this?
Best,
"Pirulito"
|
|
Back to top |
|
|
|