 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
Csimbi I post too much
Reputation: 97
Joined: 14 Jul 2007 Posts: 3324
|
Posted: Sun Oct 05, 2025 3:14 am Post subject: Speeding up Unity region scans: iterators |
|
|
Hello peeps,
I am seeking advise on speeding up region scans for iterators based on the Unity engine.
So, here's an AOB scan, which I use to scan specific part for a Unity - with the intention to speed up scans:
Code: | aobscanregion(aobMyScan,K.G:GC+20,K.G:GC+C0,41 FF D3 48 8B) |
This scan works and it's lightning fast, works as intended.
Here's another:
Code: | aobscanregion(aobMyScan2,K.E.P.S+<SR>d__58:MoveNext+100,K.E.P.S+<SR>d__58:MoveNext+200,49 BB)
|
This scan is slow as if I was scanning through the entire memory, seemingly ignoring the start/end addresses.
I suspect CE has some problem resolving the construct.
I tried using quotes, hoping it would help:
Code: | aobscanregion(aobMyScan2,"K.E.P.S+<SR>d__58:MoveNext"+100,"K.E.P.S+<SR>d__58:MoveNext"+200,49 BB)
|
No luck, I got the same low speed.
Are there any techniques I could use to speed up scans for these type constructs?
Thank you!
PS. This is CE 7.6.0.8629.
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25792 Location: The netherlands
|
Posted: Sun Oct 05, 2025 5:55 am Post subject: |
|
|
lookup those symbol addresses in the background and store those as an easy symbol and use the simple symbol as range for aobscan
_________________
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 |
|
 |
Csimbi I post too much
Reputation: 97
Joined: 14 Jul 2007 Posts: 3324
|
Posted: Sun Oct 05, 2025 7:24 am Post subject: |
|
|
Okay. How would I go on about that?
Google did not really get me an example.
This is what the decompiled source code looks like:
Code: |
public class SM : IEnumerable<SI>, IEnumerable
{
...
public IEnumerator<object> SR(SI sI, bool fA = false)
{
...
}
...
}
|
How would I get from this to:
Code: | K.E.P.S+<SR>d__58:MoveNext |
Would it be a simple matter of
Code: | findMethodAddrBySignature('Assembly-CSharp','SM','SR','SI,bool$',false) |
Nope.
These both return zero.
Code: | print('--')
print(tohex(findMethodAddrBySignature('Assembly-CSharp','SM','SR','?',true)))
print('...')
print(tohex(findMethodAddrBySignature('Assembly-CSharp','SM','SR','SI,bool$',true)))
|
Besides, it would not be the iterator's MoveNext...
Zeroes, too
Code: | print('--')
print(tohex(findMethodAddrBySignature('Assembly-CSharp','K.E.P.SM+<SR>d__58','MoveNext','?',true)))
print('...')
print(tohex(findMethodAddrBySignature('Assembly-CSharp','K.E.P.SM+<SR>d__58','MoveNext','SI,bool$',true)))
|
|
|
Back to top |
|
 |
|
|
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
|
|