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 


Trouble making a AOB injection script

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Reubinator
How do I cheat?
Reputation: 0

Joined: 04 Jun 2023
Posts: 6

PostPosted: Tue Jun 06, 2023 8:10 am    Post subject: Trouble making a AOB injection script Reply with quote

Hello, I have developed an AOB injection script using auto assembly for a game. While the script initially performs well, I have been facing recurring difficulties with the game failing to identify the AOB patterns. This predicament has left me bewildered and seeking a solution. I am contemplating the use of wildcards as a potential remedy. Astonishingly, even when my AOB patterns are accurate, the game still struggles to recognize them. Additionally, I have noticed that I need to play a few rounds of the game before I can successfully inject my script, which is highly unusual. I am currently unable to determine the root cause of this issue. I would greatly appreciate any assistance or guidance you can provide. Below, you can find the code that I have been using.

Razz Razz


[ENABLE]

aobscan(rapidfire,FF C4 A1 7A 10 44 0B 20) // should be unique
alloc(newmemA,$1000,rapidfire)

label(codeA)
label(returnA)

newmemA:

codeA:
nop
jmp returnA

rapidfire+01:
jmp newmemA
nop 2
returnA:
registersymbol(rapidfire)

aobscan(INFINITESHIELDS,C7 44 89 44 0A 6C) // should be unique
alloc(newmemB,$1000,INFINITESHIELDS)

label(codeB)
label(returnB)

newmemB:
mov r8d,100
codeB:
mov [rdx+rcx+6C],r8d
jmp returnB

INFINITESHIELDS+01:
jmp newmemB
returnB:
registersymbol(INFINITESHIELDS)

aobscan(INFINITEAMMO,89 54 03 5C 8B 7C 03 2Cool // should be unique
alloc(newmemC,$1000,INFINITEAMMO)

label(codeC)
label(returnC)

newmemC:

codeC:
nop
mov edi,[rbx+rax+28]
jmp returnC

INFINITEAMMO:
jmp newmemC
nop 3
returnC:
registersymbol(INFINITEAMMO)

aobscan(godmode,42 89 44 02 6Cool // should be unique
alloc(newmemD,$1000,godmode)

label(codeD)
label(returnD)

newmemD:
mov eax,100

codeD:
mov [rdx+r8+68],eax
jmp returnD

godmode:
jmp newmemD
returnD:
registersymbol(godmode)


[DISABLE]

rapidfire+01:
db C4 A1 7A 10 44 0B 20

unregistersymbol(rapidfire)
dealloc(newmemA)

INFINITESHIELDS+01:
db 44 89 44 0A 6C

unregistersymbol(INFINITESHIELDS)
dealloc(newmemB)

INFINITEAMMO:
db 89 54 03 5C 8B 7C 03 28

unregistersymbol(INFINITEAMMO)
dealloc(newmemC)

godmode:
db 42 89 44 02 68

unregistersymbol(godmode)
dealloc(newmemD)
Back to top
View user's profile Send private message
LeFiXER
Grandmaster Cheater Supreme
Reputation: 20

Joined: 02 Sep 2011
Posts: 1055
Location: 0x90

PostPosted: Tue Jun 06, 2023 2:15 pm    Post subject: Reply with quote

The bytes must be visible for Cheat Engine to find them. That could be that the bytes havn't been created in memory, is locked off from a permission (XCW - Execute, Copy, Write) respectively. Or that the AOB isn't unique enough.

You can use wildcards to mitigate some of the searching issues; however, if the issue is down to permissions you will have to use Lua to do a custom AOB scan:
Code:

AOBScan('aob_here', '+X-C-W')
-- "+/-" sets active/inactive for each option, * means don't care.


In the above example. Memory must be executable, but not writeable or copyable.
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 140

Joined: 06 Jul 2014
Posts: 4289

PostPosted: Tue Jun 06, 2023 5:01 pm    Post subject: Reply with quote

Why are you trying to combine all those scripts into one? If they can work independently, it's just making your cheat table worse...

The injection point `rapidfire` doesn't need a code injection if you're just nopping an instruction

No need for the `codeX` labels, you're not using them anyway

`aobscan(INFINITEAMMO,89 54 03 5C 8B 7C 03 2Cool // should be unique` - This seems pretty hard to miss...
I stopped reading here. Try to figure it out yourself before asking for help online.
When you do ask for help online, use code tags for big blocks of code.

_________________
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
Reubinator
How do I cheat?
Reputation: 0

Joined: 04 Jun 2023
Posts: 6

PostPosted: Tue Jun 06, 2023 5:58 pm    Post subject: Reply with quote

ParkourPenguin wrote:
Why are you trying to combine all those scripts into one? If they can work independently, it's just making your cheat table worse...

The injection point `rapidfire` doesn't need a code injection if you're just nopping an instruction

No need for the `codeX` labels, you're not using them anyway

`aobscan(INFINITEAMMO,89 54 03 5C 8B 7C 03 2Cool // should be unique` - This seems pretty hard to miss...
I stopped reading here. Try to figure it out yourself before asking for help online.
When you do ask for help online, use code tags for big blocks of code.


Thanks for the feedback, for reference the AOB you provided is frequently changing between "89 54 03 5C 8B 7C 03 28" and "DC 8B 55 D8 89 54 01 5C 48 8B 46 47" These are the only two occurrences of these AOB's i have seen infinite ammo connected to. Is it possible that that i can do an AOB scan for one or the other?
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Wed Jun 07, 2023 1:07 am    Post subject: Reply with quote

ParkourPenguin wrote:
`aobscan(INFINITEAMMO,89 54 03 5C 8B 7C 03 2Cool // should be unique` - This seems pretty hard to miss...
I stopped reading here.
Mr. Green
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