What's new in Cheat Engine 7.3
Nov 9, 2021
- Additions and changes:
- Added dark mode support (restart CE when you change the setting)*
- All saved results are now shown in the foundlist (can be turned off)*
- Groupscan now supports pointer wildcards. (only valid if the field is a proper pointer)*
- Hotkeys can be repeated by releasing the key and repressing if the repeat timer hasn't finished yet*
- Structure dissect add to addresslist uses the addressstring instead of number, so symbols will be preserved*
- Structure dissect now has a option to save the previous state of a column and show changes easier*
- Middle-mouse clicking now copies the value of a structure element to your clipboard*
- Added {$LUACODE} blocks for inline Lua coding*
- Added a c-compiler to CE*
- Added {$C} blocks to the auto assembler. all {$C} blocks get combined into one script before execution*
- Added {$CCODE} blocks for inline C coding (Check the forum, wiki, CE patreon discord or CE's youtube)*
- Added a C# compiler (compilecs)*
- Added routines to do .NET(and mono) method detouring. .NET info has a new contextmenu where you can create a detour template for the autoassembler*
- Added invoke method to the .NET Info window as well*
- [Disable] sections can now reference labels, defines, AOBScan results, and allocs created in the [ENABLE] section*
- Userdefined symbollist has a secondary list for CCode symbols*
- The change address window now also supports relative offsets*
- DBVM speed improvements*
- DBVM has an extra security level, and added dbvm_setKeys to easily change the access codes*
- DBVM has now some basic support for nested VM's (only so you can run them, not yet modify)*
- New debugger interface: DBVM-level debugger*
- Improved performance of "Find what access/writes this address"*
- Dissect code now lets you specify custom ranges*
- Addresslist value sort now sorts values by alphabet if the record is a string type*
- The dropdown list of multiple entries can now be changed at the same time*
- Standalone register window now shows flags values as well*
- Value Between scans now autoswap the order if the first value is bigger than the 2nd*
- Fixes:
- fixed some games freezing CE when symbols where accesses*
- Lua debug now shows for loop variables*
- several windows now save their position, and won't get corrupted if you don't show them the first time running CE*
- fixed createthreadandwait when using a timeout*
- fixed disassembling vcvtsi2ss*
- fixed compare to first scan if it's a large block, and made it more efficient*
- ceshare: logout fixed*
- fixed assembling movsq*
- fixed ultimap ret filter*
- fixed luapipe never calling OnError*
- fixed vehdebug in 64-bit CE zeroing out the FPU registers in 32-bit targets*
- fixed DBVM find what access/writes sometimes skipping entries on AMD*
- fixed undo not working on memory records when using the single line editor*
- fixed hide children group option when loading a table*
- fixed some font issues in the break and trace window*
- fixed pasting the other types in hexadecimal view*
- fixed the symbolloader fully crashing on unknown pdb symboldata*
- lua:
- changes:*
- saveTable won't ask to sign the table anymore*
- messageDialog will work if you omit the buttonlist. (Defaults to mbOK then)*
- added more customizabe button*
- registerSymbol no longer errors out the whole script on failure. It now overwrites existing symbol*
- .. much more. check celua.txt
New in Cheat Engine 7.1.0 (Nov 1, 2020)
- Additions and changes:
- Added support for il2cpp (mono)
- Added support for .NET dll plugins
- Change register on breakpoint now also affects FP and XMM registers
- Added CEShare, a way to share your tables with other people
- Improved disassembling
- copy bytes+addresses now only does bytes+addresses
- call filter can now use the unwind data for functions to get a decent list of instructions
- structure dissect shows the pointerpath at the bottom
- Follow register while stepping (rightclick the register to show the option)
- registersymbol and label now support multiple definitions in one line
- improved the speed of the structure list when getting data from a pdb
- hexview: doubleclicking a non-byte value now shows in the type you set
- added sorting to the found code dialog
- added filtering to the changed addresses window
- the debugger settings won't lock from changing anymore, still needs you to reopen a process to have an affect
- added always hide children groupoption
- group headers can act as address now
- AA command createthreadandwait now has a timeout parameter
- Assembler scanning improvement
- Added an AVX2 version of CE, which will speed up all those floating point operations CE does so much...
- Improved structure lookup for PDB files
- Symbolhandler can now have the following types in front of pointers : (BYTE), (WORD), (DWORD), (QWORD), (CHAR), (SHORT), (INT), (INT64) to typecast the pointer to a value of that type
- Structure dissect can detect vc++ and object pascal classnames now
- Dissect code now also detects references to strings
- Sorting the addresslist now sorts faster and more properly with regards to groups (depends on the level your current selection is)
- Rightclick the addresslist header to bring up a menu which allows you to disable sorting
- Improved the processlist responsiveness
- The chosen floating point rounding type is now saved in the registry
- You can now use (addresslist description) as an address
- Improved autocomplete
- Changes:
- DBVM doesn't activate the TSC hook by default. You can still activate it by using dbvm_enableTSCHook()
- Fixes:
- Fixed memoryleak when opening a file for hexediting again
- Fixed utf8 display of the dissect windows window
- Clear the taskbar progress when using a custom scan
- Hexview: Fixed changing the address when pressing a non char key
- Hexview: Fixed changing the address when doubleclicking and then canceling
- alloc with a prefered base is now more aggressive in getting the range you want
- fixed mono symbol lookup while dlls are still being loaded
- fixed the structure compare not giving a proper errormessage
- fixed improper error messages in structure dissect
- fixed opening process in XP
- fixed potential deadlock with the symbolhander
- fixed issue with using the process var as symbol
- fixed default form size for some windows when using high DPI
- fixed DBVM on systems that have the default MTRR set as 6 (e.g Asus systems)
- fixed DBVM find what accesses with large datasets
- Lua
- New functions:
- function onTableLoad(before)
- sendMessageTimeout
- createTimer(delay,function())
- createStructureFromName()
- createSynEdit()
- changes:
- fixed executeCodeLocalEx with certain parameter definitions
- fixed openFileAsProcess
- checkSynchronize has a timeout now
- OnGetDisplayValue now also works on AA records(<script>)
New in Cheat Engine 6.8.2 (Dec 27, 2018)
- Fixes:
- Disassembler: Several disassembler instructions had a comma too many or too few ,fixed those
- Disassembler: Fixed the description for ret #
- Disassembler/Debug: Fixed the address that is being edited when a breakpoint hits while editing an instruction
- Assembler: Fixed assembling reg*2/4/8+unquotedsymbol
- Plugin: Fixed the SDK for C plugins that use the disassembler callback
- Hotkeys: Fixed the attach to foreground hotkey
- Memory Scan: Fixed the percentage scan
- Memory Scan: Fixed a rare situation that could cause an error
- Memory Scan: Simple values now works with groupscan
- Memory Scan Lua: Scanfiles now also get deleted if the memory scan object is freed before the scan is fully done
- Fill Memory: Now allows 64-bit addresses
- Structure Dissect: Fixed the popupmenu "change type" so it now affects all selected entries instead of just the first
- PointerOrPointee window: Fix the debug pointer or pointee window button text when using access instead of writes
- GUI: Fixed and restored the DPI Aware option in setting
- GUI: Some DPI fixes/adjustments here and there
- Graphical Memory view: Fixed DPI issues
- Symbolhandler: When the symbolhandler now waits till it's done, it won't wait for the structures to be parsed anymore
- Additions and changes:
- Lua Engine: Added autocomplete
- DLL injection: On DLL injection failure CE tries to fall back on forced injection methods
- Assembler: Added multibyte NOP
- Plugins: Plugins can now have side dll's that are statically linked in their own folder (Windows 7 with updates and later)
- Debugging: Improved the FPU window editing when single stepping, allowing you to change the FPU registers
- Debugging: Threadview now updates when single stepping and cnanges made there will affect the currently debugged thread (before it didn't)
- Debugging: Added Code Filter. This lets you filter out code based on if it has been executed or not (Uses software breakpoints)
- Debugging: Added an option to chose if you wish to break on unexpected breakpoints, and if CE should break on unexpected breakpoints, or only on specified regions (like AA scripts)
- Disassembler: The comments now show multiple parameters
- Pointerscan: Add option to allow negative offset scanning
- Pointerscan: Add extra types to the display
- Advanced Options/CodeList: Now uses symbolnames
- Tutorial Game: Added a levelskip option when you've solved a step
- Tutorial Game: Added a secondary test
- Compare memory: Added a limit to the number of address values shown per row (can be changed)
- Address List: When the option to deactivate children is set, the children will get deactivated first
- Memory Scan: Add a lua script in autorun that lets you specify which module to scan
- lua:
- ExecuteCodeEx(Let's you execute code in the target and pass parameters)
- Added 2 new parameters to getNameFromAddress (ModuleNames and Symbols)
- Added addModule and deleteModule to the symbollist class
- Added the ModuleLoader class which can force load dll's
- Fixed endUpdate for the listview
New in Cheat Engine 6.8.1 (Jun 23, 2018)
- Mostly a bugfix version of 6.8, but it does have a few minor additions
- Fixes:
- Fixed several issues with the structure compare
- Fixed the commonality scanner from picking up unrelated registers for comparison
- Fixed speedhack hotkeys
- Fixed ultimap 1
- Fixed a bunch of random access violations
- Fixed Lua dissectCode.getStringReferences now also returns the string
- Fixed Lua breakpoints that specify a specific function
- Fixed Lua toAddress when the 2nd parameter is an address
- Fixed assembling xmm,m32
- Fixed issue when disassembling AVX instructions
- Fixed rightclicking r8-r9 in the registers window
- Fixed the plugin system for DBVM
- Fixed DBVM memory allocations when smaller than 4KB
- Additions and changes:
- Added translation strings for the all type settings
- You can now drop files into the auto assembler
- auto assembler commands allocnx (allocate no execute) and allocxo (allocate execute only)
- The memoryview windows's hexadecimalview now shows the allocationbase as well, and can be doubleclicked to go there
- Added support for mono dll's that do not export g_free
- Improved DBVM speed slightly
- lua:
- added RemoteThread class object
New in Cheat Engine 6.7 (Feb 15, 2018)
- Fixes:
- Fixed some DPI issues at some spots
- Fixed the "Not" scan for ALL
- "simple values" now also applies to the All type
- Fixed not adding the 0-terminator to strings when the option was set to add it
- Fixed ultimap hotkeys
- Fixed ultimap2 filtering
- Changing pointers in the change address dialog won't set/override global memrec and address anymore (local now)
- Fixed show as signed not working for custom types
- Fixed several issues with the structure spider
- Fixed 64-bit registers in the tracer getting truncated on doubleclick, and fix r8 to r15
- Fixed copy/paste in the scanvalue
- Fixed kernelmode QueryMemoryRegions for windows build 1607
- Fixed some disassembler errors
- Fixed lua command fullAccess
- Fixed text to speech if launched from a different thread
- Fixed clicking on checkboxes when the dpi is different
- Fixed the found code dialog count size
- Fixed mono freezing Cheat Engine when it crashes/freezes
- Additions and changes:
- Changed the processlist and added an Applications view similar to the taskmanager
- Small change to the tutorial first step wording
- Structure Dissect: Added RLE compression (by mgr.inz.player) and other things to improve filesize
- Structure Dissect: If setting a name, it will also be shown in the header
- The symbolhandler can now deal with complex pointer notations
- Added support for single-ToPA systems for ultimap2
- Added some more spots where the history will be remebered in memoryview
- Memoryrecords with auto assembler scripts can now execute their code asynchronous (rightclick and set "Execute asynchronous")
- Kernelmode memory reading/writing is safer now
- Added an option to filter out readable paths in the pointerscan rescan
- Added "codePage" support
- Added font/display options to several places in CE
- Added a search/replace to the script editors
- You can now delete addresses and reset the count from "Find what addresses this code accesses"
- Added a statusbar to the hexview in memoryview
- Pointerscan for value scans now add the results to the overflow queue
- Opening a file and changing bytes do not change them to the file anymore (you need to explicitly save now)
- Added an option to the processlist to filter out system processes
- Added a system to let users sign their tables so you know you can trust their tables.
- Memory record dropdown lists can now reference those of others. USe as entry text: (memoryrecorddescription)
- Added an option to notify users of new versions of Cheat Engine
- lua:
- Custom Types can now be referenced from Lua
- Auto assembler lua sections now have access to "memrec" which is the memory record they get executed from. Can be nil
- stringToMD5String now support strings with a 0 byte in them
- autoAssemble() now also returns a disableInfo object as 2nd parameter. You can use this to disable a script
- added Action and Value properties to MemoryRecordHotkey objects
- added screenToClient and clientToScreen for Control objects
- added readSmallInteger and writeSmallInteger
- added enableDRM()
- added openFileAsProcess/saveOpenedFile
- added saveCurrentStateAsDesign for CEForm objects
- added disableWithoutExecute and disableAllWithoutExecute
- added OnCustomDraw* events to the listview
- added being/endUpdate for the Strings class
- added SQL support
- added color overrides to the disassembler text
- added OnPaint to the CustomControl class
- added autoAssembleCheck to syntax check an AA script
- fixed the addresslist returning nil for PopupMenu (while popupMenu did work)
- added an timeout option for pipes
- added some graphical options
- added some low level system functions