View previous topic :: View next topic |
Author |
Message |
vesoljc How do I cheat?
Reputation: 0
Joined: 18 Dec 2024 Posts: 3
|
Posted: Wed Dec 18, 2024 3:36 pm Post subject: CE crashes after first memory search |
|
|
So, I've been using CE (7.5) for a while now, worked like a charm. Recently something changed (my gut is telling me it was a recent win11 update, currently on win11 pro, 24h2, 26100.2605). CE starts normally, but as soon as I attach to a process and do a first (sometimes I manage to do a second) value search, app shuts down.
ATM, I only found this in event log:
Faulting application name: cheatengine-x86_64.exe, version: 7.5.0.7431, time stamp: 0x00000000
Faulting module name: cheatengine-x86_64.exe, version: 7.5.0.7431, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x0000000000973c09
Faulting process id: 0x6C90
Faulting application start time: 0x1DB519285621A58
Faulting application path: C:\Program Files\Cheat Engine 7.5\cheatengine-x86_64.exe
Faulting module path: C:\Program Files\Cheat Engine 7.5\cheatengine-x86_64.exe
Report Id: e3c76a0e-808e-497f-a5ca-9c8631e620a1
Faulting package full name:
Faulting package-relative application ID:
I tried both x64 and x64-sse4 versions, both crash. I tried fresh CE install, same result. Any ideas?
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25784 Location: The netherlands
|
Posted: Wed Dec 18, 2024 8:52 pm Post subject: |
|
|
disable pdb loading in settings-debugger
you may have the broken windows symbol handler dll
_________________
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 |
|
 |
vesoljc How do I cheat?
Reputation: 0
Joined: 18 Dec 2024 Posts: 3
|
Posted: Thu Dec 19, 2024 2:51 am Post subject: |
|
|
So, I've downloaded the source, lazarus and built a debug version. It crashes in :
memscan.newscan;
deletescanfolder;
deletefolder(f);
guess the folder string is null
running debug sometimes crashes, sometimes not...
as i see it, one of those temp folders is trying to get cleaned up?
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25784 Location: The netherlands
|
Posted: Thu Dec 19, 2024 9:17 am Post subject: |
|
|
run ceregreset and see if it still happens. (in case the scanfolder is set)
And check your anti virus. it may be too busy inspecting the temp files to let it go
and try a custom scanfolder
_________________
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 |
|
 |
vesoljc How do I cheat?
Reputation: 0
Joined: 18 Dec 2024 Posts: 3
|
Posted: Fri Dec 20, 2024 3:04 pm Post subject: |
|
|
Tried both, same thing happens....
I don't use any extra antivirus, just windows defender/security or whatever. I've added an exclusion to defender on the new scan folder, but didn't help.
So, as a fellow developer (but quite rusty in pascal code; been like 20+ years since I last used it), I've been debugging the code a bit
In the
Code: | procedure TMemscan.DeleteScanfolder; |
"f" variable is only set in the non windows (ifndef) code path
Code: | f:=usedtempdir+strCheatEngine+pathdelim+info.name; |
but later on it is used to build up path for lock file and to delete folder
Code: | if (FileExists(f+PathDelim+'inuse.lock')=false) {$ifdef windows}or deletefile(f+PathDelim+'inuse.lock'){$endif} then //if deleting inuse.lock succeeds, then the file wasn't used anymore (only work on ainwodws)
deletefolder(f);
|
Am I missing something or how is this suppose to work? Coz f stays nil, which causes deletefolder(f) to fail, since it tries to parse a null string.
If I move the Code: | f:=usedtempdir+strCheatEngine+pathdelim+info.name;
| above the ifdef, all works...
How was this meant to work? Is the current dir set to temp folder?
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25784 Location: The netherlands
|
Posted: Fri Dec 20, 2024 3:24 pm Post subject: |
|
|
Ah, you're looking at the code for 7.5.1+ (7.5.0 doesn't have that line)
if you meant you've been using the github sourcecode instead of the released 7.5, then yeah, this was an issue with symbolsync (already fixed for next version)
Though it doesn't explain your crash though as it would just raise an internal exception which the exception handler would have captured and set to the outputdebugstring call
my guess is that you may have an external DLL injecting into all running programs which may have an issue with handling pascal exception events
_________________
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 |
|
 |
|