Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Use result of aobscan in aobscanregion

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Pirulito
Newbie cheater
Reputation: 0

Joined: 13 May 2017
Posts: 13

PostPosted: Fri Mar 02, 2018 1:21 pm    Post subject: Use result of aobscan in aobscanregion Reply with quote

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
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 140

Joined: 06 Jul 2014
Posts: 4289

PostPosted: Fri Mar 02, 2018 2:05 pm    Post subject: Reply with quote

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
View user's profile Send private message
Pirulito
Newbie cheater
Reputation: 0

Joined: 13 May 2017
Posts: 13

PostPosted: Fri Mar 02, 2018 6:28 pm    Post subject: Reply with quote

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
View user's profile Send private message
AylinCE
Grandmaster Cheater Supreme
Reputation: 32

Joined: 16 Feb 2017
Posts: 1253

PostPosted: Fri Mar 02, 2018 6:41 pm    Post subject: Reply with quote

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. Smile
Add code to get unique code.
Surely the code, there's more.

01 02 03 04 05 06 07 ?? ?? 0A 0B ?? ?? ?? 0F etc.. Wink

_________________
Hi Hitler Different Trainer forms for you!
https://forum.cheatengine.org/viewtopic.php?t=619279
Enthusiastic people: Always one step ahead
Do not underestimate me Master: You were a beginner in the past
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
panraven
Grandmaster Cheater
Reputation: 55

Joined: 01 Oct 2008
Posts: 942

PostPosted: Fri Mar 02, 2018 9:15 pm    Post subject: Reply with quote

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
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 140

Joined: 06 Jul 2014
Posts: 4289

PostPosted: Fri Mar 02, 2018 11:55 pm    Post subject: Reply with quote

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
View user's profile Send private message
panraven
Grandmaster Cheater
Reputation: 55

Joined: 01 Oct 2008
Posts: 942

PostPosted: Sat Mar 03, 2018 1:21 am    Post subject: Reply with quote

Wow, I see at last.

Not known the scan type vtByteArrays (multiple aob).
Thank you the correction.

_________________
- Retarded.
Back to top
View user's profile Send private message
Pirulito
Newbie cheater
Reputation: 0

Joined: 13 May 2017
Posts: 13

PostPosted: Sun Mar 04, 2018 1:59 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites