Disable Annoying Cheat Engine 7.5 laugh.

_47iscool

Noticer
OP
Member
Joined
Nov 18, 2013
Messages
669
Trophies
1
XP
1,118
Country
United States
(Edit: Can Someone please change the title to "Disable Annoying Cheat Engine 7.5 laugh.")
(Sorry for the typo)

For those of us who are annoyed at the laugh that plays randomly, I have found a simple fix.

Go to the CE 7.5 install folder, then look in autorun\dlls and open the file "dnd.dat" in HxD.
Press CTRL and A to highlight all, right-click Fill selection.., Leave the setting on Hex-values to 00 and press OK.
Save the file and voila! No more annoying laugh.

There is even a person at the CE forums asking about and Dark Byte will give no answer as to why.
Also, I have the offline installer. I managed to grab it from the temp folder before it was deleted.
 
  • Like
Reactions: gbatempfan1

gbatempfan1

Well-Known Member
Member
Joined
Nov 2, 2010
Messages
200
Trophies
1
XP
1,201
Country
Go to the CE 7.5 install folder, then look in autorun\dlls and open the file "dnd.dat" in HxD.
Press CTRL and A to highlight all, right-click Fill selection.., Leave the setting on Hex-values to 00 and press OK.
Thanks for point out the dnd.dat file, thanks to that it was easy to find an alternative way without hex editing now that I knew what to look for.

That is to do what the installer does under proper installs which is delete c:\program files\cheat engine 7.5\autorun\soundextension.lua and the autorun\dlls\dnd.dat so the need to edit those files is negated if you delete both.

Also the file c:\program files\cheat engine 7.5\autorun\eatme.lua needs to be deleted its purpose is to cause problems by resizing the window after a random time, no it isn't your imagination or the game doing it.

So for those whose installer is borked or use offline installers with /verysilent /zbdist or alternatively Uniextractor2 to extract the offline files that is what you need to do.




The code in c:\program files\cheat engine 7.5\autorun\soundextension.lua that causes the sound and the crash if you were to just delete dnd.dat without also deleting soundextension.lau is:
Code:
s=createMemoryStream()
s.LoadFromFile(getAutoRunPath()..[[dlls\dnd.dat]])
local t=createTimer()
t.Interval=5*60000+math.random(5*60000)
t.OnTimer=function() playSound(s) end
t.Enabled=true

For those curious the excerpt of the installer script that deletes those files is here, the variables(values not included in exceprt) when combined and expanded spell out the path to the those above files then deletes them.

Code:
jf loc_51b
    pushtype UnicodeString_3 ; StackCount = 16
    assign Var16, Var5
    add Var16, Var3
    add Var16, Var8
    add Var16, Var9
    add Var16, Var5
    add Var16, Var11
    add Var16, Var7
    add Var16, Var12
    add Var16, Var3
    assign Var1, Var16
    pop ; StackCount = 15
    pushtype BOOLEAN ; StackCount = 16
    pushtype UnicodeString_2 ; StackCount = 17
    pushtype UnicodeString_2 ; StackCount = 18
    pushtype UnicodeString_3 ; StackCount = 19
    assign Var19, UnicodeString_3("{app}\\autorun\\")
    add Var19, Var1
    assign Var18, Var19
    pop ; StackCount = 18
    pushvar Var17 ; StackCount = 19
    call EXPANDCONSTANT
    pop ; StackCount = 18
    pop ; StackCount = 17
    pushvar Var16 ; StackCount = 18
    call DELETEFILE
    pop ; StackCount = 17
    pop ; StackCount = 16
    pop ; StackCount = 15
    pushtype UnicodeString_3 ; StackCount = 16
    assign Var16, UnicodeString_3("so")
    add Var16, Var12
    add Var16, UnicodeString_3("nd")
    add Var16, Var5
    add Var16, UnicodeString_3("xt")
    add Var16, Var5
    add Var16, UnicodeString_3("ns")
    add Var16, Var6
    add Var16, UnicodeString_3("on")
    add Var16, Var11
    add Var16, Var7
    add Var16, Var12
    add Var16, Var3
    assign Var1, Var16
    pop ; StackCount = 15
    pushtype BOOLEAN ; StackCount = 16
    pushtype UnicodeString_2 ; StackCount = 17
    pushtype UnicodeString_2 ; StackCount = 18
    pushtype UnicodeString_3 ; StackCount = 19
    assign Var19, UnicodeString_3("{app}\\autorun\\")
    add Var19, Var1
    assign Var18, Var19
    pop ; StackCount = 18
    pushvar Var17 ; StackCount = 19
    call EXPANDCONSTANT
    pop ; StackCount = 18
    pop ; StackCount = 17
    pushvar Var16 ; StackCount = 18
    call DELETEFILE
    pop ; StackCount = 17
    pop ; StackCount = 16
    pop ; StackCount = 15
    pushtype UnicodeString_3 ; StackCount = 16
    assign Var16, Var4
    add Var16, Var10
    add Var16, Var4
    add Var16, Var11
    add Var16, Var4
    add Var16, Var3
    add Var16, Var8
    assign Var1, Var16
    pop ; StackCount = 15
    pushtype BOOLEAN ; StackCount = 16
    pushtype UnicodeString_2 ; StackCount = 17
    pushtype UnicodeString_2 ; StackCount = 18
    pushtype UnicodeString_3 ; StackCount = 19
    assign Var19, UnicodeString_3("{app}\\autorun\\dlls\\")
    add Var19, Var1
    assign Var18, Var19
    pop ; StackCount = 18
    pushvar Var17 ; StackCount = 19
    call EXPANDCONSTANT
    pop ; StackCount = 18
    pop ; StackCount = 17
    pushvar Var16 ; StackCount = 18
    call DELETEFILE
    pop ; StackCount = 17
    pop ; StackCount = 16
    pop ; StackCount = 15
 
Last edited by gbatempfan1,
  • Like
Reactions: _47iscool

_47iscool

Noticer
OP
Member
Joined
Nov 18, 2013
Messages
669
Trophies
1
XP
1,118
Country
United States
Thanks for point out the dnd.dat file, thanks to that it was easy to find an alternative way without hex editing now that I knew what to look for.

That is to do what the installer does which is delete c:\program files\cheat engine 7.5\autorun\soundextension.lua and the autorun\dlls\dnd.dat so the need to edit those files is negated if you delete both.

Also the file c:\program files\cheat engine 7.5\autorun\eatme.lua is deleted by the installer which seems to cause problems by resizing the window after a random time, no it isn't your imagination or the game doing it.




The code in c:\program files\cheat engine 7.5\autorun\soundextension.lua that causes the sound and the crash if you were to just delete dnd.dat without also deleting soundextension.lau is:
Code:
s=createMemoryStream()
s.LoadFromFile(getAutoRunPath()..[[dlls\dnd.dat]])
local t=createTimer()
t.Interval=5*60000+math.random(5*60000)
t.OnTimer=function() playSound(s) end
t.Enabled=true

For those curious the excerpt of the installer script that deletes those files is here, the variables(values not included in exceprt) when combined and expanded spell out the path to the those above files then deletes them.

Code:
jf loc_51b
    pushtype UnicodeString_3 ; StackCount = 16
    assign Var16, Var5
    add Var16, Var3
    add Var16, Var8
    add Var16, Var9
    add Var16, Var5
    add Var16, Var11
    add Var16, Var7
    add Var16, Var12
    add Var16, Var3
    assign Var1, Var16
    pop ; StackCount = 15
    pushtype BOOLEAN ; StackCount = 16
    pushtype UnicodeString_2 ; StackCount = 17
    pushtype UnicodeString_2 ; StackCount = 18
    pushtype UnicodeString_3 ; StackCount = 19
    assign Var19, UnicodeString_3("{app}\\autorun\\")
    add Var19, Var1
    assign Var18, Var19
    pop ; StackCount = 18
    pushvar Var17 ; StackCount = 19
    call EXPANDCONSTANT
    pop ; StackCount = 18
    pop ; StackCount = 17
    pushvar Var16 ; StackCount = 18
    call DELETEFILE
    pop ; StackCount = 17
    pop ; StackCount = 16
    pop ; StackCount = 15
    pushtype UnicodeString_3 ; StackCount = 16
    assign Var16, UnicodeString_3("so")
    add Var16, Var12
    add Var16, UnicodeString_3("nd")
    add Var16, Var5
    add Var16, UnicodeString_3("xt")
    add Var16, Var5
    add Var16, UnicodeString_3("ns")
    add Var16, Var6
    add Var16, UnicodeString_3("on")
    add Var16, Var11
    add Var16, Var7
    add Var16, Var12
    add Var16, Var3
    assign Var1, Var16
    pop ; StackCount = 15
    pushtype BOOLEAN ; StackCount = 16
    pushtype UnicodeString_2 ; StackCount = 17
    pushtype UnicodeString_2 ; StackCount = 18
    pushtype UnicodeString_3 ; StackCount = 19
    assign Var19, UnicodeString_3("{app}\\autorun\\")
    add Var19, Var1
    assign Var18, Var19
    pop ; StackCount = 18
    pushvar Var17 ; StackCount = 19
    call EXPANDCONSTANT
    pop ; StackCount = 18
    pop ; StackCount = 17
    pushvar Var16 ; StackCount = 18
    call DELETEFILE
    pop ; StackCount = 17
    pop ; StackCount = 16
    pop ; StackCount = 15
    pushtype UnicodeString_3 ; StackCount = 16
    assign Var16, Var4
    add Var16, Var10
    add Var16, Var4
    add Var16, Var11
    add Var16, Var4
    add Var16, Var3
    add Var16, Var8
    assign Var1, Var16
    pop ; StackCount = 15
    pushtype BOOLEAN ; StackCount = 16
    pushtype UnicodeString_2 ; StackCount = 17
    pushtype UnicodeString_2 ; StackCount = 18
    pushtype UnicodeString_3 ; StackCount = 19
    assign Var19, UnicodeString_3("{app}\\autorun\\dlls\\")
    add Var19, Var1
    assign Var18, Var19
    pop ; StackCount = 18
    pushvar Var17 ; StackCount = 19
    call EXPANDCONSTANT
    pop ; StackCount = 18
    pop ; StackCount = 17
    pushvar Var16 ; StackCount = 18
    call DELETEFILE
    pop ; StackCount = 17
    pop ; StackCount = 16
    pop ; StackCount = 15

Thanks. I was still wondering how to stop the window from resizing itself.

Edit: I re-installed CE 7.5 and now for some reason it won't install the x64 exe files.
 
Last edited by _47iscool,

_47iscool

Noticer
OP
Member
Joined
Nov 18, 2013
Messages
669
Trophies
1
XP
1,118
Country
United States
I had that happen as well, rather than hunting it down I just used Uniextractor2 on the offline extractor or you can try innoextract directly.

I've heard of that tool before. I think I will download it (innoextract) and keep it just in case. I do have and use uniextractor(2?) Anyway I got it to install properly the last time but ran into issues. That particular issue was fixed by disabling tinywall. So then I had an issue and DB suggested removing a dll. It worked. But since I did an an offline install it left in the files again.

I did what you said and it works great now without the annoyances. Thanks a lot.
 

gbatempfan1

Well-Known Member
Member
Joined
Nov 2, 2010
Messages
200
Trophies
1
XP
1,201
Country
I'm trying to wrap my head around why a developer is actively making his software worse to use...
If you are not a patreon customer you get a 2 stage installer. The first stage collects a bunch of info about your computer, shows you some ads and if you aren't paying attention, or even if you are and click wrongly, tries to install one or more software products that it downloads from some advertisers.

That installer also is flagged by many antivirus and conflicts with many firewalls and thus breaks when those are enabled, even the patreon installer has issues with those as well.

The second stage is downloading the true cheat engine installer which if not launched by the ad filled installer mentioned will have all sorts of issues, like not copying 64 bit stuff, or not deleting those cheat engine scripts that resize things and play weird laughing randomly.

So being able to get it working without having the baggage or traps is a nice thing.
 

AkikoKumagara

The Coolest Bear Around
Member
Joined
Jan 4, 2017
Messages
1,538
Trophies
1
Website
thebearsden.web.fc2.com
XP
3,934
Country
United States
If you are not a patreon customer you get a 2 stage installer. The first stage collects a bunch of info about your computer, shows you some ads and if you aren't paying attention, or even if you are and click wrongly, tries to install one or more software products that it downloads from some advertisers.
Adware installers really need to just die at this point. Really just a sleazy way to make money. Don't like the data collection thing you mentioned either, but at least that has utility to the improvement of the software (maybe) and isn't necessarily just malicious moneygrubbing.

To make you use the official installer
Sounds like they make the official installer suck because it's "freeware" and make the paid one slightly less problematic. I don't see this as justification to make the software break or annoy users when installed by other means, tbh.
 
  • Like
Reactions: gbatempfan1

_47iscool

Noticer
OP
Member
Joined
Nov 18, 2013
Messages
669
Trophies
1
XP
1,118
Country
United States
I have been using CE since at least the 5.6 version and it the only thing it has done a few times when enabling certain options is giving me a BSOD.

I have used it in conjunction with emulators to make most of my codes posted at gamehacking.org.
The Program Counter register is the most important value when hacking as it tells you what instruction is being executed at the moment.

Some emulators don't have built-in debuggers so finding the PC register can be tricky sometimes. I still prefer using CE over the built-in debuggers in emulators.
 

Site & Scene News

Popular threads in this forum

Recent Content

General chit-chat
Help Users
    Faust03 @ Faust03: hey the spam bots are acting up again