 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
cannonfodderex Advanced Cheater
Reputation: 0
Joined: 30 Oct 2012 Posts: 70
|
Posted: Wed Jul 01, 2026 8:23 am Post subject: [BUG]Cheat Engine 7.7 unregistersymbol(*) does not work |
|
|
I have a script which register 2 symbols
when I disable it , the unregistersymbol(*) does not unregister any of them.
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 474
Joined: 09 May 2003 Posts: 25956 Location: The netherlands
|
Posted: Thu Jul 02, 2026 2:10 am Post subject: |
|
|
do you register them using the auto assembler registersymbol or do you use lua?
this code works fine:
| Code: |
[ENABLE]
label(symbola)
label(symbolb)
label(symbolc)
registersymbol(symbola)
registersymbol(symbolb)
registersymbol(symbolc)
//code from here to '[DISABLE]' will be used to enable the cheat
00400500:
symbola:
00400600:
symbolb:
00400700:
symbolc:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
unregistersymbol(*)
|
_________________
Tools give you results. Knowledge gives you control.
Like my help? Join me on Patreon so i can keep helping |
|
| Back to top |
|
 |
cannonfodderex Advanced Cheater
Reputation: 0
Joined: 30 Oct 2012 Posts: 70
|
Posted: Fri Jul 03, 2026 6:42 pm Post subject: |
|
|
I rechecked the whole process.
It's not unregistersymbol(*) failed, but script enable failed in a weird way.
How to reproduce:
Enable the script, which is successful
Then disable the script, checked in memory view, both symbol is unregistered, it shows normal address in their former position, and I can't use goto address with them.
uncheck activate mono features, close cheat engine
restart cheat engine, load table , auto activate mono features by the table option
try to enable the script, it fails and shows an error as below pic.
I checked in memory view, both symbols are registered, but code inject did not happen.
It might be caused by cheat engine 7.7 activate mono features in consistency.
It behaves like this:
Start game
Start cheat engine 1st time, activate mono features always fail, and a dialog "failure to launch" pops up, sometimes even mono menu will not show. If I execute LaunchMonoDataCollector() in table lua screen, the output will print "Library Injection failed or invalid module".
Close cheat engine and start it the 2nd time, activate mono features will success, and everyting works fine.
Close cheat engine again and start it the 3rd time, activate mono features will success, I can view .net info and jump to function in memory view by double click function name, But script will fail to enable, symbols are registered, but code inject did not happen.
Close cheat engine again and start it the 4th time, activate mono features will success, sciprt can be successfully enabled if I didn't try to enable and fail in the 3rd time.
While cheat engine 7.6 on the same machine can always activate mono features successfully.
This is my script:
| Code: |
{ Game : Silence of the Siren.exe
Version:
Date : 2026-07-01
Author : CannonFodder
Description :
<Optional info>
}
[ENABLE]
aobscanfunction(PlayerGetFogOfWarInject,Hosaf.Player:GetFogOfWarLayer,48 8B 47 30 0F B6 40 78 85 C0 0F 84 ** ** ** ** 48 B8 ** ** ** ** ** ** ** **) // should be unique in this function
alloc(newmem,$1000,PlayerGetFogOfWarInject)
label(code)
label(return)
registersymbol(playerAddr)
newmem:
mov [playerAddr],rdi
code:
mov rax,[rdi+30]
movzx eax,byte ptr [rax+78]
jmp return
playerAddr:
dq 0
PlayerGetFogOfWarInject:
jmp newmem
nop 3
return:
registersymbol(PlayerGetFogOfWarInject)
[DISABLE]
PlayerGetFogOfWarInject:
db 48 8B 47 30 0F B6 40 78
unregistersymbol(*)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Hosaf.Player:GetFogOfWarLayer+16
1E25D21575A: 00 00 - add [rax],al
1E25D21575C: 00 00 - add [rax],al
1E25D21575E: 00 00 - add [rax],al
Hosaf.Player:GetFogOfWarLayer: 55 - push rbp
Hosaf.Player:GetFogOfWarLayer+1: 48 8B EC - mov rbp,rsp
Hosaf.Player:GetFogOfWarLayer+4: 48 83 EC 30 - sub rsp,30
Hosaf.Player:GetFogOfWarLayer+8: 48 89 75 F0 - mov [rbp-10],rsi
Hosaf.Player:GetFogOfWarLayer+c: 48 89 7D F8 - mov [rbp-08],rdi
Hosaf.Player:GetFogOfWarLayer+10: 48 8B F9 - mov rdi,rcx
Hosaf.Player:GetFogOfWarLayer+13: 48 8B F2 - mov rsi,rdx
// ---------- INJECTING HERE ----------
Hosaf.Player:GetFogOfWarLayer+16: 48 8B 47 30 - mov rax,[rdi+30]
// ---------- DONE INJECTING ----------
Hosaf.Player:GetFogOfWarLayer+1a: 0F B6 40 78 - movzx eax,byte ptr [rax+78]
Hosaf.Player:GetFogOfWarLayer+1e: 85 C0 - test eax,eax
Hosaf.Player:GetFogOfWarLayer+20: 0F 84 3E 00 00 00 - je Hosaf.Player:GetFogOfWarLayer+64
Hosaf.Player:GetFogOfWarLayer+26: 48 B8 80 38 DD 7F E0 01 00 00 - mov rax,000001E07FDD3880
Hosaf.Player:GetFogOfWarLayer+30: 48 8B 00 - mov rax,[rax]
Hosaf.Player:GetFogOfWarLayer+33: 48 8B C8 - mov rcx,rax
Hosaf.Player:GetFogOfWarLayer+36: 83 39 00 - cmp dword ptr [rcx],00
Hosaf.Player:GetFogOfWarLayer+39: 48 8B 80 F8 00 00 00 - mov rax,[rax+000000F8]
Hosaf.Player:GetFogOfWarLayer+40: 48 8B C8 - mov rcx,rax
Hosaf.Player:GetFogOfWarLayer+43: 83 38 00 - cmp dword ptr [rax],00
}
|
| Description: |
|
| Filesize: |
6.23 KB |
| Viewed: |
44 Time(s) |

|
| Description: |
|
| Filesize: |
4.36 KB |
| Viewed: |
44 Time(s) |

|
| Description: |
|
| Filesize: |
11.47 KB |
| Viewed: |
53 Time(s) |

|
| Description: |
|
| Filesize: |
34.66 KB |
| Viewed: |
53 Time(s) |

|
| Description: |
|
| Filesize: |
8.76 KB |
| Viewed: |
53 Time(s) |

|
Last edited by cannonfodderex on Fri Jul 03, 2026 7:19 pm; edited 1 time in total |
|
| Back to top |
|
 |
Csimbi I post too much
Reputation: 98
Joined: 14 Jul 2007 Posts: 3401
|
Posted: Fri Jul 03, 2026 6:50 pm Post subject: |
|
|
| Put in front of registersymbol(playerAddr) this: label(playerAddr)
|
|
| Back to top |
|
 |
cannonfodderex Advanced Cheater
Reputation: 0
Joined: 30 Oct 2012 Posts: 70
|
Posted: Fri Jul 03, 2026 7:26 pm Post subject: |
|
|
| Csimbi wrote: | | Put in front of registersymbol(playerAddr) this: label(playerAddr) |
You are right, I can successfully enable the script in the 3rd time I start cheat engine now.
The activate mono features still have inconsistency though, I edited the previous post and added those information before I see your reply.
Update:
Open process again will have effect like restart cheat engine, so the problem might be on the attach process part?
|
|
| 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
|
|