May 29 2026:Cheat Engine 7.7 Released for Windows
Changes:
No more version numbering in the main caption. Only the about screen now has it
Memrec class now has an OnActivationFailure callback
globalalloc symbols do not save in tables anymore
added static field address lookup for .net core and microsoft clr
script tag can now be hidden
Lua: Added methods for OrderedList objects. Useful for accessing the History object of disassemblerview and hexview
Lua: LuaEngine windows now have their own luastate so breakpointed states won't get messed up by potential timers or other luaengine dialogs
fpu debug dialog now shows when values change while stepping
speedhack: mono/il2cpp with unity now should freeze the game when the game sets the speed to 0
dotnetinfo: added an enumstatic dialog
find what addresses this code accesses: changed the color of blue in the darkmode dialog
New table specific options
added completion to lua code in auto assembler
You can now dissect structures directly from dotnetinfo
added modulePreference for symbol loading. When multiple modules have the same symbol, this list determines which modules has priority. (Already populated for windows and linux)
break and trace: new option to break on trace stop
break and trace: trace until initial function exit
threadname support
waitForallsymbols now shows a dialog when it takes too long
custom types of the integer variant are now 8 byte in 64-bit CE
added several new custom type examples/templates
added a .net 8 example plugin
more info now has tabs
AutoAssembler: added {$ifdef} /{$endif} and {$ifndef}/{$endif} blocks
mono method lookup now supports generics and parameters
AutoAssembler command: Hook(address, addresstogoto, originalcode) where originalcode will be allocated and filled for you
AutoAssembler command: unhook(address)
AutoAssembler command: aobscanfunction(name, functionstart, aob)
Mono: Better class/method lookup (generic support and parameters for methods)
lua:registerSymbolLookupCallback functions now also have access to the original string as well (only use it to determine if you should return nil or not)
dotnetdatacollector now takes less time to determine if something is an object in the heap or not
memoryviewer has a new 'marker' type of highlights also controllable from lua.
memoryviewer has a new function to highlight all lines that are used as a jump destination so it's easier to determine where to hook
.net plugins: The .net 9 runtime requirements also link with aspnetcore
added OnMouseWheelEvent support
added AI commands
ported CE to linux
.net info static field now has a context menu to copy the data
Added binary notation in aobscan |010**010|
lua memscan has a new propery called Results which will get your all the results without the need of a foundlist helper
custom type now has an 'internalOnly' property so you can use the type without notifying the user it exists
You can now view tablefile contents as text
added a Markdown viewer control
added stacktrace lua command
added a new extensions folder to CE which will load files based on a loadorder.txt
moved the AI stuff to the Extensions folder
added some basic unreal engine structure dissect support
added binary type to structure dissect
structure dissect can now load pdb structures better
added a preview fields to pointers and nested types, and an option to prioritize which fields to show first
added json lua library
adjusted getThreadList to return a threadlist in lua if no stringlist was provided
added executeCodeExThread and executeMethodThread where you can specify the thread to let the code run
form property Ghost, which allows you to click through it to the window behind it. Handy for overlays
ceshare now supports multiple server lists
ceserver can now deal with containered paths better
Fixes:
fixed injecting dll's while pdbs are being loaded
fixed a memory leak with the memory scanner
luacode not working when there's multiline comments at the top of the script
pdb moduleload dialog showing the wrong info
memoryrecord options not loading back
speedhack causing lag on some games
speedhack symbols saving inside tables while they should not
speedhack hotkey not saving if you don't select another entry first
assembling j* +# inside a region above 7fffffff would make it generate a wrong codeblock
disassembling vmovdqu shows wrong parameters
settings dialog: the option to handle unexpected exceptions isn't displayed as if it's set
parameter passing when launch as admin is enabled
access violation issue with break and trace dialog when loading a trace
freeze/crash on autoattach related to the pick process flasher
lua: Fixed single run timer running more than 1 time when the timer handler shows a dialog
monodatacollector: fixed an issue with multiple threads at the same time causing a disconnect
fix break on unexpected breakpoints
fixed enum values in il2cpp
ceserver: fixed modulesize lookup
fixed always hide children option
fixed loadPlugin lua command adding to the permanent list
convertToUtf8 is now stable when giving it incorrect parameters
reassemble can now handle call [] and jmp []
'step out' when the stack contains an unparsable string works now
disassembling rorx now doesn't show a double , anymore
dialogs won't show on the wrong monitor anymore
the previous build missed a few lua script extensions for structure to C lookup. They are present now
fixed code finder doubleclick actually hiding the memoryview window instead of showing it
fixed header passing when using postURL from the internet object
fixed lua engine search direction parameter
fixed aob template scripts for hook
fixed inputQuery
fixed CE loading .net9 runtimes close enough to 9.0.0
fixed relative notations using +/-xxx
structure compare reload file now cleans up old buffers
fixed groupscan double and float scans when scanning out of order
fixed assembling of instructions with width size specific values (broke due to the calculation ability)
fixed the full injection template
fixed autoassembler targetself messing up the processid breaking modulelists
don't render strings longer than 1000 characters in the addresslist
fixed memory access on windows on windows64 for arm64
fixed mono unboxing
dbvm fixed an issue with dr6 flags not being properly set in some rare cases
mono: fixed enum handling for invoke method and dialog
windows .net: fixed
debugging: fixed avx state being set to 0
gdb: several fixes
By
T3rM1nat0Rr3 ·