Cheat Engine



About Cheat Engine

About DBVM





Lua Extensions




Cheat Engine Wiki

Privacy Policy

Cheat Engine

Download Cheat Engine 6.2 for Mac

August 19 2019:Cheat Engine Patreon, because why not

I've decided to join Patreon. If you wish to donate and you don't like paypal or bitcoin then this is an alternate way to support Cheat Engine
Currently there's not much there but in the future I'll be adding some extras like special ranks in the forum, custom builds, pre-releases while stuff is being verified/certified, and other stuff.

The link:

February 7 2019:Cheat Engine 6.8.3 Released:

New version with a bunch of improvements to make using CE easier and some bugfixes Download: Cheat Engine 6.8.3

Please report bugs and give suggestions for improvements


  • 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

  • Post release patches:
    02/11/2019: Don't search addresslist entries in PDB when still loading and give an option to quit slow load
    02/17/2019: Fixed speedhack giving an error first time activating and removed a message when using ctrl and scanning

    December 24 2018:Cheat Engine 6.8.2 Released:

    Here's a new version for the hollidays. Mainly minor improvements and some small bugfixes, but also a new 'ultimap like' feature called Code Filter for which you don't need any special hardware for. (Just an extensive list of addresses) Download: Cheat Engine 6.8.2


  • 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

  • Thanks go out to SER[G]ANT for updating the russion translation files already

    June 23 2018:Cheat Engine 6.8.1 Released:

    Apparently 6.8 contained a couple of annoying bugs, so here's an update that should hopefully resolve most issues.
    Also a few new features that can come handy
    Download: Cheat Engine 6.8.1


  • 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
  • Changed "make page writable" to multiple options
  • Improved DBVM speed slightly

  • Lua:
  • added RemoteThread class object

  • June 8 2018:Cheat Engine 6.8 Released:

    Cheat Engine 6.8 has been released. Lots of new features like structure compare, AVX disassembling support, lua functions, etc...
    Download: <revoked>
    If you encounter bugs or have suggestions, please do not hesitate to report them in the forum, bugtracker or by e-mail.
    And if you have questions, don't hesitate to ask them in the forum


  • 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)

  • Minor patches:
      06/08/2018: - Fixed speedhack hotkey speed asignments and some commonalityscanner issues   06/09/2018: - Fixed only when down speedhack option   06/10/2018: - Fixed ultimap1 - Fixed ultimap2 on some systems - Fixed enableDRM() from crashing - Fixed one disassembler instruction

    Russian translation has been updated