Skip to content

@cheat-engine cheat-engine released this Apr 22, 2020 · 260 commits to master since this release

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>)
Assets 3

@cheat-engine cheat-engine released this Aug 20, 2019 · 716 commits to master since this release

Additions and changes:

  • Icons
  • Added a way to dissect and show a function's working using a diagram
  • Auto repeat option for unchanged value scans
  • Added lua formula scans
  • Moved the compare to first/saved from scan type to a checkbox
  • Added a scanner that can detect and undo memory changes in the target process code sections (patch scanner under tools in memview)
  • The tutorial now has a link to online help for each step
  • Added a toolbar for stepping while debugging
  • When a memoryrecord fails to activate, you can rightclick it and see why it failed
  • AutoAssembler will now cut down on the nop's used
  • Better error reporting in autoassembler scripts
  • DBVM can now dynamically adjust the TSC. This can be disabled if it causes performance issues with dbvm_setTSCAdjust(disable)
  • speedhack now also hooks gettickcount64
  • added dw 'utf16string' support
  • implement VPID support in DBVM (performance increase)
  • kernelmode->driverlist now also shows driver exports
  • kernelmode symbols now also show in the enum dll's and exports
  • change the way slow symbol lookup is handled
  • several small updates to the codecave scanner
  • several small updates to the hexview find window
  • Use defered pdb loading instead of waiting for it
  • Several more windows have been made DPI Aware
  • Add option to show processid's as decimal in the processlist
  • When pressing shift+space instead of space to follow an instruction you will now open a new memview window
  • Added *:undefined support for dropdown lists
  • Added init.lua files for translations to use
  • Stackview now shows symbolnames as well
  • Some extra windows will now save their location
  • Exe trainer generator now lets you change the default files
  • The description of conditional jumps is better to understand now
  • Ultimap2 can now keep the tracer files and scan kernelmode memory as well if desired
  • Groups now get created afgter the selected item
  • Smartedit can now also 'smart'-edit children
  • You can now pick a breakpoint type without having to go to settings, and once picked it will be the default type for Toggle breakpoints until changes again
  • Floating point screen will now stay within the screen
  • Clicking execute in the lua engine will now change focus back to the editor field
  • Debugger interface settings will now only lock after a succesful attach
  • Some translation improvements here and there
  • DBVM changeregonbp's are now displayed in CE's interface as well
  • The foundlist colors can be customized now
  • Improved DBVM cloak performance when more than 20 regions are cloaked
  • Implemented DBVM based execute watch and "find what addresses this code accesses"
  • Implemented DBVM breakpoints (They always execute afterwards, including execute bp's)
  • Improved autocomplete so it now doesn't delete old code
  • Added hotkeys to ultimap2

Fixes:

  • fixed BSOD in recent windows updates
  • fixed VEH debug not handling breakpoints when a thread is created/destroyed right at the same time as a breakpoint
  • fixed the stacktrace in 64-bit targets
  • fixed rounded Extreme for float and double scans
  • speedhack now waits for proper dll injection
  • several disassembler instructions
  • some assembler instructions
  • improved the stability of dbvm find what * routines
  • fixed the hit counter in dbvm find what * routines
  • fixed kernelmode symbol loading
  • fixed DBVM memoryleak when disabling watches
  • fixed DBVM internal memory manager (more stable now)
  • fixed internal VirtualToPhysicalCR3 when dealing with 2MB+ pagesizes
  • fixed using megajmp's in cloaked regions
  • fixed speech when using async records
  • fixed executeCodeEx for more than 4 parameters
  • fixed static field script in mono by adding 64-bit codegeneration
  • fixed mono process crashing in some cases
  • fixed megacall following
  • fixed NO_CACHE memory being scanned anyhow even if it was disabled
  • fixed dealing with floating point values that are too big to be useful
  • fixed setting DR7 to a strange value when using global debug
  • fixed clearing DR6 when in the wrong process in kernel debug
  • fixed triggering kernelmode breakpoints in locations you can not properly break (no interrupts)
  • fixed loading dbvm inside dbvm inside dbvm inside dbvm
  • fixed autoassembler replacing words in quoted strings
  • fixed processwatcher not getting a proper PID
  • fixed hotkeys triggering changed/unganged for types they aren't supposed to
  • fixed showing dr2, dr3 and dr4 types in the threadlist

lua:
New functions:

 compareMemory
 encodeFunctionEx
 enableKernelSymbols
 waitForExports
 waitForDotNet
 waitForPDB
 waitforsymbols
 searchPDBWhileLoading
 duplicateHandle
 getScreenDPI
 extendedToByteTable
 byteTableToExtended
 executeCodeLocalEx
 executeMethod
 allocateSharedMemoryLocal
 (un)registerCreateCallback
 (un)registerFirstShowCallback
 (un)registerCreateCallback
 dbk_usePhysicalMemoryAccess
 dbk_setSaferPhysicalMemoryScanning
 dbk_readPhysicalMemory
 dbk_writePhysicalMemory
 dbvm_addMemory
 dbvm_removechangeregonbp
 dbvm_speedhack_setSpeed
 dbvm_setTSCAdjust

changes:

  • getWindowList now returns the results just like ce's window list
  • documented OnChangeBounds for the Control class (was already there, now documented as well)
  • executeCodeEx can now also taker just parameters without typedefs
  • added Data field to ListItem's
  • added description field to memrec.createHotkey method
  • added clear method to the menuItem class
  • readStringEx() can now deal with partial memory reads
  • executeCodeEx: Fixed more than 4 parameters
  • added Point type
  • fixed editbox selstart/sellength types, and added CaretPos
  • added HeaderSection class and document HeaderSections
  • added roundRect, drawFocusRect and textRect to the Canvas.
  • added ansicode character support for textRect
  • added loadFromStream and saveToStream to the RasterImage class
  • added readAnsiString and writeAnsiString to the Stream class
  • Better document the mode field of createFileStream
  • Expose the handle of the LuaPipeServer
  • Publish frmTracer
  • Publish frmUltimap2
  • Publish frmCodeFilter
  • Publish imagelist
  • Added the DrawItemEvent general GUI property to Lua's callback system
  • Added the MenuDrawItemEvent general GUI property to Lua's callback system
  • Added the ContextPopupEvent general GUI property to Lua's callback system
  • Created a new Diagram class group which can allow you to create graphs and diagrams
  • Memoryrecord.DropDownValue and DropDownDescription work now (still RO)

08/21/2019:
Fixed loading existing files for asian users (textencoding was turned on, but that broke old files)
Added extra last minute highlighter options thanks to mgr.inz.player

08/25/2019:
Fixed UTF8 copy/paste in addresslist
Fixed loading/editing forms
Fixed createFileStream

08/27/2019:
Fixed lua pipe strings (mono uses it)

Assets 3

@cheat-engine cheat-engine released this Feb 7, 2019 · 1447 commits to master since this release

Fixes
debugging/stepping with hotkeys
several high DPI visual glitches
VEH debugger reattach works again
Pointerscan resume works again
Stackview can now show by reference , previously it did nothing
disassembling imul
speedhack while key down option
assembling values with x*2/4/8
the "resume thread" in the threadlist now resumes threads instead of freezing them
fixed an error popping up when editing registers with no debugger attached
getNameFromAddress will not show userdefined symbols when symbols are disabled

Additions and changes
Waiting till all symbols have been loaded has been removed
Launching structure compare from dissect data now only needs 1 address, though it's recommended to have at least 2 each
Code completion in lua engine is now more smoother
You can now compare traces generated by the tracer
Threadlist window now has a copy to clipboard
Structure compare now digs deeper into pointers
Pointerscan import/export now works with newer types as well
Better Lua comment support
Added rudimentary sort to the structure compare window (based on levelwidth only)
Referenced strings now also shows if it's unicode
Formdesigner now has a context menu to add undocumented controls

lua
added enumMemoryRegions
added getWriteLog (Let's you get the writelog and activate it)
HexadecimalView: added the OnCharacterRender and OnValueRender events

Assets 2

@cheat-engine cheat-engine released this Dec 20, 2018 · 1528 commits to master since this release

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

Assets 2

@cheat-engine cheat-engine released this Jun 23, 2018 · 1623 commits to master since this release

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

Assets 2
Jun 22, 2018

@cheat-engine cheat-engine released this Jun 7, 2018 · 1663 commits to master since this release

Fixes:
Fixed some more high dpi issues
Fixed issues with the dropdown list in memory records
Fixed pointer offset symbols not calculating properly
Fixed registered binutils
Fixed graphical issues with the tablist
Fixed issue where memory blocks would get cut of before the page end
Fixed some memory leaks
Fixed some graphical issues in the addresslist
Fixed rightclick on r8 and r9 in memoryview
Fixed disassembling some instructions
Fixed DBVM so it works on windows 1709 and later (tested on 1803)
Fixed several DBVM offload crashes
Fixed freeze with allow increase/decrease for 8 byte long values
Fixed several issues where minimizing a window and then close it would hang CE
Fixed file scanning
Fixed crashes when editing memory in some some emulators

Additions and changes:
Text editor improvements
Added hundreds of new cpu instructions
Mono now has some new features like instancing of objects
Mono instances window is now a treeview where you can see the fields and values
"find what addresses this code accesses" can also be used on RET instructions now (useful to find callers)
The graphical memory view now has a lot more options to set it just the way you need
Codepage support in hexview
structure data from PDB files can now be used, and are stored in a database for lookup later
dissect structures form can now show a list of known structures (pdb, mono, ...)
Added a "revert to saved scan" option (lets you undo changes)
Added a "forgot scan" option (in case you forgot what you're doing)
Pointerscan limit nodes is default on in a new ce install (remembers your choice when you disable it)
Autoattach now happens using a thread instead of a gui blocking timer
Some colorscheme enhancements
Added a DBVM based "Find what writes/accesses" feature. (For pro users, enable kernelmode options for it to show)
Changed the dissect data setup from seperate yes/no/value dialogs to a single window
Added a bypass option for ultimap2 on windows 1709. When using ranges, do not use interrupts, or use DBVM
Added find what writes/access to the foundlist
Autoassembler scriptblocks are now grouped when written to memory
Added {$try}/{$except} to auto assembler scripts
Added an extra tutorial/practice target
Added cut/copy/paste context menu items to pointer offset fields in add/change address, and added a context menu to the pointer destination
Added an automated structure compare for two groups of addresses to find ways to distinguish between them

lua:
added automatic garbage collection and settings to configure it
added new functions:
gc_setPassive
gc_setActive
reinitializeSelfSymbolhandler
registerStructureAndElementListCallback
showSelectionList
changed the getWindowlist output
MainForm.OnProcessOpened (better use this instead of onOpenProcess)
enumStructureForms
cpuid
getHotkeyHandlerThread
bunch of dbvm_ functions (needs dbvm capable cpu, and intel only atm)
and more, including class methods and fields (read celua.txt)

Assets 2
Jun 6, 2017

6.7

improve the encoding a little bit (in case of repeat)
Oct 3, 2016

6.6

comment out some text and change a number
May 19, 2016
change a hint
You can’t perform that action at this time.