 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
Jordancyre Newbie cheater
Reputation: 0
Joined: 30 May 2017 Posts: 11
|
Posted: Thu Nov 11, 2021 9:00 am Post subject: Has something changed in CE recently to cause issues? |
|
|
I've normally never had any issues with using cheat engine but recently a couple have shown up.
Namely, values aren't being frozen. I have the freeze interval set to 1ms. Sometimes, the value will remain frozen for a while and then will not act frozen after playing for a bit. The frozen box will still be checked however. This has happened on a few games, "A Robot Named Fight, 3000th Duel, RPCS3 (either of the two running processes), and Subnautica to name a couple.
Another issue I've recently run into is the "Failure to allocate memory near <xxxxxxxx>" when running a script. My script was built using the AOB template with only one line of instructions added to the code. This error happened after updating to 7.3 (which I thought updating would fix the other issues). the added instruction is `mov r141,45`. Below is my script:
Code: |
{ Game : rpcs3.exe
Version:
Date : 2021-11-10
Author : Jordan
This script does blah blah blah
}
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscan(INJECT,44 88 34 13 89 8D 74 04 00 00) // should be unique
alloc(newmem,$1000,INJECT)
label(code)
label(return)
newmem:
code:
mov r14l,45
mov [rbx+rdx],r14l
mov [rbp+00000474],ecx
jmp return
INJECT:
jmp newmem
nop 5
return:
registersymbol(INJECT)
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
INJECT:
db 44 88 34 13 89 8D 74 04 00 00
unregistersymbol(INJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: 1051BEB8A
1051BEB61: 48 89 55 70 - mov [rbp+70],rdx
1051BEB65: 4C 63 4D 60 - movsxd r9,dword ptr [rbp+60]
1051BEB69: C4 42 F8 F5 C4 - bzhi r8r12,rax
1051BEB6E: 49 C1 EC 2F - shr r12,2F
1051BEB72: 49 C1 E4 0C - shl r12,0C
1051BEB76: 4C 89 4D 60 - mov [rbp+60],r9
1051BEB7A: 4C 01 CA - add rdx,r9
1051BEB7D: 44 0F B6 34 13 - movzx r14d,byte ptr [rbx+rdx]
1051BEB82: 4C 03 75 40 - add r14,[rbp+40]
1051BEB86: 4C 89 75 18 - mov [rbp+18],r14
// ---------- INJECTING HERE ----------
1051BEB8A: 44 88 34 13 - mov [rbx+rdx],r14l
// ---------- DONE INJECTING ----------
1051BEB8E: 89 8D 74 04 00 00 - mov [rbp+00000474],ecx
1051BEB94: 48 83 C4 28 - add rsp,28
1051BEB98: 49 FF E0 - jmp r8
1051BEB9B: BA 2C 68 1A 00 - mov edx,rpcs3.exe+19682C
1051BEBA0: 48 89 E9 - mov rcx,rbp
1051BEBA3: E8 1F F5 05 00 - call 10521E0C7
1051BEBA8: 48 83 C4 28 - add rsp,28
1051BEBAC: C3 - ret
1051BEBAD: 0F 1F 00 - nop dword ptr [rax]
1051BEBB0: 48 83 EC 28 - sub rsp,28
}
|
Has anyone run into these issues lately?
|
|
Back to top |
|
 |
LeFiXER Grandmaster Cheater Supreme
Reputation: 20
Joined: 02 Sep 2011 Posts: 1069 Location: 0x90
|
Posted: Thu Nov 11, 2021 10:32 am Post subject: |
|
|
Your added instruction isn't necessary since you just want to move an arbitrary value to [rbx+rdx]
Code: |
code:
// mov r14l,45
mov [rbx+rdx],45 // this will be hex btw (69 decimal)
mov [rbp+00000474],ecx
jmp return
|
My guess at the scripts becoming inactive is that mono is disabling. I know that A Robot Named Fight! is definitely a mono game. I made a table for it here, perhaps you can learn from it.
This link will take you to Fearless Revolution
Last edited by LeFiXER on Thu Nov 11, 2021 11:47 am; edited 1 time in total |
|
Back to top |
|
 |
Jordancyre Newbie cheater
Reputation: 0
Joined: 30 May 2017 Posts: 11
|
Posted: Thu Nov 11, 2021 10:44 am Post subject: |
|
|
Yeah the Script moves 69 into that memory address which is the address where the used item goes in that game. So whenever you use an item, it updates the qty to 69 instead of decreasing it.
I haven't looked at the mono stuff but the next time it happens I'll take a peak.
I'm not 100% confident in my assembly scripting so if there's anything I could do to improve that particular script I would appreciate it.
|
|
Back to top |
|
 |
LeFiXER Grandmaster Cheater Supreme
Reputation: 20
Joined: 02 Sep 2011 Posts: 1069 Location: 0x90
|
Posted: Thu Nov 11, 2021 11:51 am Post subject: |
|
|
All right, I just thought I would point out that there isn't any convention for declaring hexadecimal within Auto Assembler and sometimes it can be confused for a decimal number in case you weren't aware.
I wouldn't say there's much to improve really, you're just moving a value to an address. Pretty straight forward.
|
|
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
|
|