 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
AntumDeluge Cheater
Reputation: 0
Joined: 20 Dec 2018 Posts: 48
|
Posted: Thu Jan 31, 2019 4:08 pm Post subject: AoB Injection Script Not working |
|
|
Trying to use a template to create an AOB Injection script, I got the following error:
Quote: | ERROR: Could not find unique AOB, tried code "8B 4D 08 89 48 2C" |
Searching for the error, I found this thread where Twistedfate says to select more instructions to get a unique array of bytes. So, I added two more instructions which adds "8B E5 5D" to the array. However, the script will not activate. Does that mean that the array is still not unique & I need to add more instructions? Or, have I made a mistake in my script?
Code: | [ENABLE]
aobscanmodule(aobAutoGameOver,MMU.exe,8B 4D 08 89 48 2C 8B E5 5D) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
newmem:
code:
//mov ecx,[ebp+08]
mov ecx,(int)0
mov [eax+2C],ecx
mov esp,ebp
pop ebp
jmp return
aobAutoGameOver+BB56F0:
jmp newmem
nop
return:
registersymbol(aobAutoGameOver)
[DISABLE]
aobAutoGameOver+BB56F0:
db 8B 4D 08 89 48 2C 8B E5 5D
unregistersymbol(aobAutoGameOver)
dealloc(newmem) |
A screenshot of the memory view is attached.
Description: |
Memory viewer for script aobAutoGameOver |
|
Filesize: |
65.76 KB |
Viewed: |
11767 Time(s) |

|
|
|
Back to top |
|
 |
salumor Advanced Cheater
Reputation: 0
Joined: 14 Jan 2019 Posts: 87
|
Posted: Thu Jan 31, 2019 7:10 pm Post subject: Re: AoB Injection Script Not working |
|
|
AntumDeluge wrote: | Does that mean that the array is still not unique & I need to add more instructions? Or, have I made a mistake in my script?
Code: | aobAutoGameOver+BB56F0: |
| It might be (likely if the script won't activate). I mean did you (at normal scan screen), select "Value Type" select "Array of byte", added the ... AOB, in this case "8B 4D 08 89 48 2C 8B E5 5D" (without "") and it just returns 1 result?
Anyway what is clearly wrong: remove the offset (+BB56F0) from the TWO aobAutoGameOver lines (at enable/disable). This is automatically generated if it can't find a unique entry point itself. So it tries to jump to module+offset.
If this does have anything to with activation depends on if the aobscan does find a result or not and if, what the address+offset point to and if you got full access to it.
|
|
Back to top |
|
 |
AntumDeluge Cheater
Reputation: 0
Joined: 20 Dec 2018 Posts: 48
|
Posted: Thu Jan 31, 2019 7:53 pm Post subject: |
|
|
salumor wrote: | It might be. I mean did you (at normal scan screen), select "Value Type" select "Array of byte", added the ... AOB, in this case "8B 4D 08 89 48 2C 8B E5 5D" (without "") and it just returns 1 result? |
Ah, okay. I didn't know how to do that. No, it is not unique.
salumor wrote: | ...remove the offset (+BB56F0) from the TWO aobAutoGameOver lines... |
Thank you.
That solves my problems in the scope of this thread.
Edit: To search for a unique array, from the Memory Viewer I selected Search -> Find memory. Is that what you meant by "normal scan screen"?
Edit: Oh! Sorry. I realize what you are talking about. The main window....
Edit: Attached is a screenshot of the scan showing that the AOB is not unique. Thank you again salumor.
Description: |
|
Filesize: |
38.93 KB |
Viewed: |
11736 Time(s) |

|
|
|
Back to top |
|
 |
salumor Advanced Cheater
Reputation: 0
Joined: 14 Jan 2019 Posts: 87
|
Posted: Thu Jan 31, 2019 8:20 pm Post subject: |
|
|
To make it unique add more results. So after 5D add C2 to CE scan, click Next Scan ... find your way to a unique AOB.
OPTIONAL: You may also want to use wildcards on offsets and co if you want to make it compatible with updates. Though you'd also need to change your code then to read that. Take a look at https://forum.cheatengine.org/viewtopic.php?t=609288 a very typical aob might look like f.e.: 48 8B ?? 48 63 ?? ????0000 3B C6 0F84 ????0000 4C (and that still expects the registers to not change but .... keep it simple)
In your case maybe: 8B 4D ?? 89 48 ?? 8B E5 5D C2 ???? CC
|
|
Back to top |
|
 |
OldCheatEngineUser Whateven rank
Reputation: 20
Joined: 01 Feb 2016 Posts: 1586
|
Posted: Thu Jan 31, 2019 9:08 pm Post subject: |
|
|
AntumDeluge wrote: | the script will not activate. Does that mean that the array is still not unique & I need to add more instructions? Or, have I made a mistake in my script? |
because of:
Code: | aobAutoGameOver+BB56F0 |
and even if it worked, it will crash your game. (because you have many mistakes)
anyhow, this should work:
Code: | [ENABLE]
aobscanmodule(aobAutoGameOver,MMU.exe,89 4D FC 8B 4D FC E8 ?? ?? ?? ?? 8B 45 FC 8B 4D 08 89 48 2C 8B E5 5D C2 04 00 CC CC 55 8B EC 51) // should be unique
// aobscanregion(aobAutoGameOver,"MMU.exe"+4000,"MMU.exe"+4FFF,89 4D FC 8B 4D FC E8 ?? ?? ?? ?? 8B 45 FC 8B 4D 08 89 48 2C 8B E5 5D C2 04 00 CC CC 55 8B EC 51)
{
if aobscanmodule failed, then comment it and uncomment aobscanregion .. which should not fail.
}
alloc(newmem,$100)
label(code)
label(return)
newmem:
mov [ebp+08],0
code:
mov eax,[ebp-04]
mov ecx,[ebp+08]
jmp return
aobAutoGameOver+0B:
jmp newmem
nop
return:
registersymbol(aobAutoGameOver)
[DISABLE]
aobAutoGameOver+0B:
db 8B 45 FC 8B 4D 08
unregistersymbol(aobAutoGameOver)
dealloc(newmem) |
_________________
About Me;
I Use CE Since Version 1.X, And Still Learning How To Use It Well!
Jul 26, 2020
STN wrote: | i am a sweetheart. |
|
|
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
|
|