Cheat Engine

Main

Forum

About Cheat Engine

About DBVM

Bugtracker

Downloads

Tutorials

Cheat Tables

SVN

Cheat Engine Store

FAQ

Gamehacking Wiki






Privacy Policy
Contact


Cheat Engine

July 6 2014:DotNetDataCollector update:

The dotnet data collector tool has been updated to also gather fields of base classes of the object you're currently investigating.
You can get the updated files here. Just overwrite the ones in this archive with the ones in the cheat engine installation folder

June 19 2014:Cheat Engine 6.4 Released:

I'd like to announce the release of Cheat Engine 6.4

If you encounter bugs or have suggestions, please do not hesitate to report them in the forum, bugtracker, irc or by e-mail.
And if you have questions, don't hesitate to ask them in the forum or irc

Fixes:

  • Network: Network server can now handle multiple incoming connections at the same time
  • Gui: Fixed a crash when using multiple scan tabs
  • Assembler/Disassembler: Fixed several assembler/disassembler bugs
  • Debug: Fixed issues where deleting a breakpoint wouldn't actually remove it, causing a crash
  • Debug: Fixed a problem where deleting a breakpoint that was marked for deletion would never happen if the game was constantly triggering the debugger
  • Lua: Fixed the 6.2 and earlier version of opendialog_execute
  • Lua: Fixed memscan.waitTillDone() when using it on the gui memscan
  • Lua: Fixed speedhack_setSpeed() not taking more than 3 digits
  • D3D Hook: Direct3D9 objects now support transparency
  • D3D Hook: Fix detection of which directx version is actually used for rendering
  • Dissect Data: Fixed the column click detection when scrolled
  • Auto Assembler: Fixed some commands not highlighting properly
  • Ultimap: Fixed ultimap so it now works in windows 8
  • Ultimap: Fixed the hotkeys
  • Ultimap: Fixed the hint popup for pre-emptive flushing
  • Symbols: Fixed a problem where 32-bit modules where detected as 64-bit
  • Memory Scan: Fixed next scan causing a buffer overflow in some rare situations
  • Form Designer: Fixed a problem where deleting a non visible object failed (press the delete key in the object inspector tree)
  • Trainer Designer: Fixed the go back to generated form from functioning and related issues
  • PE-Info: Fixed a possibility where a bad PE header could cause an read error
  • Memory view: Hexview: Fix 8-byte value editing
  • Syntax Highlighters LUA/AA: Fixed UTF8 encoded text
  • Syntax Highlighters AA: Added xmm registers



  • Additions and changes:
  • Address List: Added a group option that shows a +/- sign in front of group entries
  • Address List: Pressing enter on a single entry now goes into value edit mode
  • Address List: Added an option so certain entries in the address list show a groupbox the user can pick from
  • Auto Assembler: New auto assembler templates that focus on Array of Byte scans(thanks to jgoemat)
  • Auto Assembler: The auto assembler can now handle {$LUA} and {$ASM} preprocessors for multiline lua scripts
  • Break And Trace: Added a donottrace.txt file in the base directory which holds a list of modules that should not be traced but stepped over instead
  • Pointerscan: Improved performance of the pointer scanner
  • Pointerscan: The pointerscan now has the option to generate a lot smaller .PTR files
  • Pointerscan: Added the ability to do a distributed pointerscan and pointer rescan
  • ProcessList: You can now type in the processlist to filter for the specific process
  • Network: Added a basic ARM assembler/disasembler
  • Network: The linux/android network version can now use basic debugging (find what access/writes)
  • Network: Added speedhack to the network version
  • Network: The network version now compresses read/write process memory before sending to the client. The compression level can be changed at runtime
  • Network: Added module injection for linux/android
  • Symbols: Added better support for .PDB debug files so parameters and local variable references show when that data is available
  • Symbols: Added support for .Net
  • Symbols: Added support for Java (proof-of-concept showing off the extendabilty of CE)
  • Symbols: Added support for Mono (^)
  • Memory view: Hexview: Added decimal display modes for the other types
  • Memory View: Added shift-scrollng to the hexview and disassembler so you can scroll by 1 byte changes instead of the default calculated sizes
  • Stack View: Added a search option
  • D3D Hook: you can now reattach the D3D hook to a process that previously had been hooked
  • Lua engine window: Added a search and replace option to the editor
  • Lua engine window: Added the ability to set breakpoints, inspect variables and step over lines
  • Lua engine window: Enabled tab indentation of blocks
  • Lua engine window: Some extra customization options
  • Trainer Generator: Replaced the beepOnAction with playSoundOnAction and added 2 build in activate/deativate sounds. (You can override them)
  • Trainer Generator: The XM file field now has a play button
  • Lua/Trainer Generator/Designer: Added several new components , propertes and methods.
  • Lua: Added a dll search path to cedir\clibs32 or cedir\clibs64 depending on which cheat engine version is used. Use it for lua extentions
  • Lua: Made it more forgiving about method and property names
  • Lua: Added some threading helper functions
  • Lua: You can now override the disassembler/assembler
  • Lua: Lots of other new features. Check out main.lua

  • again, big thanks to SER[G]ANT for providing us with the latest translation files for the Russian language

    Post release fixes (max 7 days after initial release *or 30 if a HUGE bug):
  • 20-06-2014: Fixed an issue with the driver not responding to Cheat Engine even if it has a proper signature
  • 26-06-2014: Fixed custom types in data dissect, fixed the Visible property of forms, and changed the way unreadable addresses are handled

    April 26 2014:Polish translation

    Marek has updated the Polish translation files


    February 2 2014:Russian translation

    SER[G]ANT has provided some fixes to the russian translation files


    December 17 2013:Brazilian Portuguese translation

    JeffSturmann has provided translation files for Brazilian Portugese. You can get them here


    July 24 2013:Polish translation update for 6.3

    dawio966 has updated the polish translation files. You can get them here


    July 13 2013:Cheat Engine 6.3 Traditional Chinese translation:

    Todobug has updated his language file to 6.3. You can get it here (Just extract to your languages folder in the Cheat engine install folder overwriting language.ini)


    June 13 2013:Cheat Engine 6.3 Released:

    A bit later than expected (way later) but here's Cheat Engine 6.3

    If you encounter bugs or have suggestions, please do not hesitate to report them in the forum, bugtracker, irc or by e-mail.
    And if you have questions, don't hesitate to ask them in the forum or irc

    Fixes:

  • Fixed dll injection for 64-bit targets (also fixes speedhack for 64-bit and windows 8)
  • Fixed speedhack thread safety so changing speed in a program that constantly checks speed won't cause a crash/weird behaviour
  • Fixed Lua speedhack_setSpeed being limited to 2 digit accuracy
  • Customtypes can now deal with huge size types (4096 bytes and bigger)
  • Some table merging bugs
  • Fixed negative values in groupscans
  • Fixed a lot of assembler and disassembler instructions
  • Fixed GenericHotkey in lua
  • Fixed the table version of writeBytes in lua
  • Fixed the bug where if you opened the settings window and click ok you wouldn't be able to debug anymore
  • Fixed unlabed labels
  • Fixed crash when clicking stop when using the debugger to find something
  • Fixed where CE would select invisible entries when multiselecting and press space
  • Loading a table now deletes tables you might have previously defined
  • The autoassembler can now handle $luavar when it's an integer instead of string
  • Fixed break on entry when creating a process
  • Fixed the stackview in 64-bit ce when targeting a 32-bit program
  • Fixed unloading the driver when global debug was used before
  • Fixed the symbolpath not changing to what you wish, and add the game's exe to the symbol path search by default
  • Fixed dbvm stability
  • Fixed global debug not handling 64-bit mov dr* instructions properly


  • Additions and changes:
  • Redesigned the lua class system (read main.lua)
  • Added mouse4 and mouse5 to the lua defines
  • Added the THREADSTACK# symbol which points to the stack start of the specific thread number (pointerscan can use it)
  • The pointerscan has several new features to decrease time and increase useful results
  • Added sorting the pointerscan by column (Tip: After a sort close the pointerscan and delete .ptr files you do not wish)
  • Changed hotkey handling internally
  • The different display types in the hexadecimal view of memoryview now support direct editing as well
  • The foundlist can now display using a different display type, on the condition that the type has a compatibly bytesize
  • The foundlist now shows a "previous value" column and marks differences red
  • The symbolhandler now has a better distinction between 32 and 64-bit modules. Non-compatible modules (64-bit in 32-bit programs) will get an underscore in front of their symbolnames
  • Groupscans can now let you choose which elements to add to the addresslist when doubleclicked
  • Added a graphical memory view
  • Added a new breakpoint type :Exceptions (not dependant on size and no debug registers, but extremely slow to unplayable)
  • The "Find out what *** this address" function now has the ability to show if the given opcode is used for other data as well
  • Added a luaserver to ce that you can use to let a different/target process execute lua commands and pass data
  • The userdefined comments can now show handle multiple lines
  • Dissect code now lets you jump to a referal if you click the line
  • Added a few new lua methods to the disassembler so you can render your own data in front and after a disassembler line
  • Assembler: Added override support to relative jumps
  • Auto Assembler: AA command ReadMem can now work on large sets of data without being too slow
  • Auto Assembler: Scripts with multiple AOBScan commands will go faster now (grouped into one)
  • Auto Assembler: Added a new "AOBSCANMODULE" auto assemble command . Usage: AOBSCANMODULE(modulename, aob)
  • Auto Assembler: GlobalAlloc now doesn't allocate 4KB (64KB in reality) for each symbol but now groups them
  • Auto Assembler: Registersymbol now works with aobscan results
  • Auto Assembler: Add support for inscript structure definitions
  • Tracer: You can now save and load a trace
  • Addresslist: Changing a records' value (lua setValue) now supports lua statements if the new value is enclosed by brackets [ ] (Example: [12-2] becomes 10, and [readInteger(0x00400500)+10] returns the value at 00400500 with 10 added to it)
  • D3D: Added the ability to dissect a whole d3d scene and get the stack at the moment a specific object is being rendered
  • D3D: Also works on 64-bit targets now
  • Symbolhandler: It now interprets "structurename.variablename" and returns the offset of variablename in the structure. This includes auto assembler
  • Binary files inside cheat tables are now stored using ascii85 instead of hexadecimal
  • Added a more complex disassembler class that gives more information about what it disassembled
  • Dissect data now also shows the effect of a locked column on childnodes
  • Dissect data can now have custom name under each address besides a groupname
  • Dissect data elements can now have a custom background color
  • The structure spider can now also work with locked memory (shadow memory)
  • Changed the way the vertical scrollbars of the disassembler and hexview panels work
  • The "find what acceses this address" window no longr prints out ALL results in the info box when multiselecting.
  • Changed the stackview panel so when it's visible and you resize the window it's on, it resizes instead of the hexview
  • The assembly scan can now have a custom range
  • Added an option to the trainerscript generator to generate a D3DTrainer (if the game supports it)
  • DBVM now works on AMD systems. Some features like Ultimap are still Intel only, but int hooks work


  • Post release fixes (max 7 days after initial release *or 30 if a HUGE bug):
  • 14/06/2013: Fixed getItems() for menu and add the default array indexer for Menu
  • 14/06/2013: Fixed select and scroll in the editor. Fixed import and export in 64-bit range memory. Fixed overriding the hide/show hotkey when using genericHotkey objects
  • 15/06/2013: Fixed the parameters of the stacktrace not showing the correct parameters. Fixed deleting the first entry of a foundlist
  • 16/06/2013: Fixed hex unchecking when changing the scantype. Fixed an assembler instruction. Added some hotkey timing functions to lua. Fixed Write*Localcommands
  • 18/06/2013: Fixed AA Define(xxx, previousdefine+xxx)
  • 30/06/2013*: Fixed int3 breakpoints not getting deleted when single stepping and threaded target
  • 30/06/2013*: Fixed case insensitive text scans

  • Update: Big thanks to SER[G]ANT for providing us with the latest translation files for the Russian language

    March 22 2013:Polish translation update

    dawio966 has updated the polish translation files. You can get them here

    February 25 2013:Spanish/Castilian traslation files:

    Manuel I. has updated his translation files and also attached a tutorial in spanish on how to use cheat engine.
    Spanish/Castilian(es_ES) translation files
    Again, just extract to your languages\ subfolder in the Cheat Engine folder, and adjust the .ini file if your windows language is not spanish

    January 30 2013:Polish translation

    dawio966 has provided us with the polish translation files for Cheat Engine. You can get them here

    September 13 2012:forcedinjection plugin

    Some people have been asking me why they can't use the speedhack in Chrome. That is because the chrome child process has no disk access (Limited user and untrusted mandatory level). It's pretty easy to make it usable again by changing a flag in the config, or just getting a different browser.
    But for those that couldn't get it to work, or those that wish to know more about plugins, I've made a plugin for Cheat Engine showing off how to make a hybrid plugin that uses both the lua framework and the exposed plugin api to rewire the injectDLL routine (more specifically, the functions it uses) so that it can force load a dll into the target process without the process having disk access.

    Download link: forcedinjection.rar
    How to use:
    Extract the files anywhere.
    In cheat engine go to settings->plugins
    Click add new
    Find the plugin .dll for the Cheat Engine version you use. (32 bit: -i386, 64-bit: -x86_64)
    Once it is in the list check the checkbox left of it and click ok.

    And if everything went right it's now functional and you should be able to do a speedhack on the target process. One thing to note about this plugin is that when it gets loaded, it will target itself. Even when restarting cheat engine. This is because it needs to rewrite itself. I could have done it without, but it shouldn't be an issue.
    For those interested, the sourcecode of this plugin can be found in the SVN

    June 3 2012:Cheat Engine 6.2 Simplified Chinese translation:

    linwuliao has updated the Simplified Chinese language file to 6.2. You can get it here

    June 3 2012:Cheat Engine 6.2 Traditional Chinese translation:

    Todobug has updated his language file to 6.2. You can get it here (Just extract to your languages folder in the Cheat engine install folder overwriting language.ini)

    May 21 2012:Cheat Engine 6.2 Russion translation:

    SER[G]ANT has already finished updating the translation files for this new update to russian. You can get them here

    May 20 2012:Cheat Engine 6.2 Released (And mac stuff):

    And again almost a year passed without any update. But here is the new and improved Cheat Engine 6.2

    If you encounter bugs or have suggestions, please do not hesitate to report them in the forum, bugtracker, or by mail.
    And if you have questions, don't hesitate to ask them in the forum

    Fixes:

  • Fixed the first plugin from not getting activated at restart
  • Custom types can now do an unknown initial value scan
  • Fixed the auto assembler highlighter from hiding some text while typing
  • Fixed the auto assembler highlighter from not showing hexadecimal values as hex starting with A to F
  • Fixed global debug from crashing in 64-bit (with dbvm)
  • Fixed dbvm from not working on several systems (freeze)
  • Fixed notification when closing and you had some changes
  • Fixed the rescan of the structure spider not working at all
  • Fixed several disassembler and assembler instructions
  • Fixed several plugin-system related bugs
  • Fixed aobscan for 64-bit
  • Fixed displaying the registers in 64-bit when using "find what xxx this address"
  • Fixed the stackview when single stepping through the code
  • Fixed several lua function, including createhotkey
  • Fixed the assembler not dealing well with names with a - in it. (like the tutorial)


  • Additions and changes:
  • Auto assembler scripts can now use the LuaCall(luafunction()) method to call a lua function before the script gets executed
  • Added a profiler so you can find function entry points and see how often they are called (Ultimap. Requires dbvm. Even in 32-bit)
  • Deleting a plugin now calls FreeLibrary on it
  • Ctrl+enter in the luaengine form now automatically executes the command
  • Added direct 3d hook functions (can be used to show trainers and menu's inside games)
  • d3dhook related: Cheat Engine can now bind the mouse inside the gamewindow for those games that do not support multiple displays, so no more losing focus when moving the mouse
  • Plugins settings between the 32 and 64-bit executable are now seperated
  • Recalculate addresses with only one selection now only updates the siblings and children. Doesn't touch the parent node
  • Addresslist entries can have the notation +xxx and -xxx, which will calculate the address based on the parent address (If the parent address changes, these change automatically
  • The structure dissect has been rewritten from scratch, and the functions have been exposed to lua as well
  • Added a new step to the tutorial (step9) showing how to deal with shared code
  • Made the tutorial translatable as well
  • Added a new trainer type which generates trainer that are a lot smaller in size (tiny)
  • Added a groupscan type which you can use to scan for different things in the same block
  • If you boot up with dbvm you do not need to sign the driver in 64-bit to load it
  • Custom types now support handling as a floating point value
  • Added debug register states to the threadview and made the threadview window capable of changing registers
  • Added remote scanning with ce for different systems. The server just needs to be running, and a 1GBPs network connection or faster is recommended
  • Also added an android server as a proof of concept, but getting a fast enough connection on those connections can be a challange
  • Changed the add/change address window to be more compact and make dealing with offsets easier
  • Lots of new lua functions
  • Post release fixes (max 7 days after initial release):
    21 May 2012: Handle the "Invalid Instruction" exception better, fix the memoryview window from disapearing, and fix the BSOD when loading the driver on Pentium 4 and earlier
    22 May 2012: Fix a deadlock when clicking stop in the pointerscanner. (And a minor assembler fix)
    23 May 2012: Fix form_showModal from not returning a result. Made the installer create the autorun folder. Minor gui fix for groups
    25 May 2012: Fixed the android server being replaced by the x64 linux server
    26 May 2012: Fixed api hooking in 64-bit (speedhack in java fix for win64 users)
    30 May 2012: Removed the linux server binaries from the installer, they are separate downloads now


    Also, there has been a Mac version under development and it's semi usable. Memory scanning works most of the time and the debugger also kinda works: Cheat Engine for Mac Version April 2012
    You can talk about it in this topic: http://forum.cheatengine.org/viewtopic.php?t=221190 or if the mac version becomes more popular I might create a new forum section for it.

    November 21 2011:Chinese Traditional translation files:

    todobug has provided us with the translation files for "Chinese Traditional (ch_tw)"

    November 13 2011:Back:

    The server is back up and your dns has been updated to this ip again.
    Most stuff will be working, but some stuff is missing and/or gone. (User attachments)

    Please note that you may occasionally see error messages while some adjustments are made

    November 11 2011:CRASH:

    The server cheatengine.org is hosted on has crashed :(
    The forum's last backup was 3 weeks ago so that isn't too bad, but the attachments people uploaded after January 12th are lost. So those need to be reuploaded.
    Cheatengine.org is currently hosted on a secondary host while the new harddisk is being setup but that can take a few days.<
    The forum is currently down, but the downloads should work (6.1 downloads)

    for those that want to chat check out irc or the temp forum here: http://cheatengine.freeforums.org

    August 16 2011:Spanish/Castilian traslation files:

    Manuel I. has provided us with Spanish/Castilian(es_ES) translation files
    Just extract to your languages\ subfolder in the Cheat Engine folder

    June 7 2011:Chinese Simplified translation files:

    There's a translation file for another branch of Chinese (zh_CN)

    June 5 2011:Chinese Simplified translation files:

    Forum member aleax has provided us with Chinese Simplified translation files
    Also, here's a link to a chinese site which may be able to help you further

    June 3 2011:Cheat Engine 6.1 Released:

    It's time for a new release again. This mainly contains bugfixes that 6.0 introduced and implementing some old features that went missing from 5.6.1 to 6.0 (Trainer maker) The lua environment has been extended and some new features have been added that can make dissecting a program easier (for example the structure spider , last branch record recordign on Intel Fam6 and string map, comments in assembler, etc...)
    Also, translation support has been added so you can now create translation files (.PO files) which can be used to translate Cheat Engine. There is already a russian translation file. If you do a translation please send them to dark_byte@hotmail.com or pm in the forum and I'll upload them to the site

    link: Cheat Engine 6.1
    Russian translation files
    If you encounter bugs or have suggestions, please do not hesitate to report them


    Cheat Engine 6.1

    Fixes:

  • Fixed DBVM from not working
  • Fixed Kernelmode debugging with DBVM in 64-bit
  • Several disassembler fixes
  • Scanning errors now show the error
  • Fixed a few 16-bit assembler instructions
  • Fixed doubleclicking the assembler scan going to 00000000
  • Fixed the assembler scan going from ffffffff back to 0 and starting over again
  • Fixed autoattach causing huge memory leak
  • Fixed clicking nextscan when having 0 results
  • Fixed 8 byte scans so they it can now scan negative values
  • Prevent a 32-bit plugin from showing up error messages when loaded in the 64-bit ce version (It won't work)
  • Fixed the VEH debugger from not handling int3 breakpoints properly
  • Fixed XMM registers in the veh debugger
  • Fixed the VEH debugger from causing a program to hang when Cheat Engine is closed normally
    Changes since public release: (max 7 days)
  • June 4 2011: Add the shellExecute lua function
  • June 5 2011: Fix assembling of movq
  • June 7 2011: Fix loading a table after having a table with files. And fix the listbox and combobox in the designer. And AOBscan script fix
  • June 9 2011: Fix lua memory scan creation and reading out the results

    Changes:
  • Added a structure spider which may help in finding ways to distinguish between two objects
  • Value scanning can now take formulas
  • Added a form designer to create lua extensions
  • Added an automated trainer generator that will generate a trainer script for you
  • Added lots and lots of new functions to the lua engine. Check the helpfile or main.lua
  • Added the ability to save binary files into a cheat table
  • Added an xm-player
  • Added columns to the stackview window
  • Added an option to choose if the disassembler should show 32-bit or 64-bit code
  • Added support to translate cheat engine to any language you want (check the language folder for more info)
  • Some speed improvements at several tools
  • Added undo last edit (ctrl+z) when editing values in a cheat table
  • Added extra option to the pointer rescan so you can filter out paths more specifically
  • Added custom comments to the assembler window
  • Added the ability to use lua variables inside auto assembler ( $luavariable )
  • Added syntax highlighting to lua
  • Changed the lua dlls with versions that don't need the C++ runtime installed
  • Changed the lua library to support 64-bit dll's
  • The lua script has been moved from the comments window to it's own menu on top
  • In the hexadecimal view when selecting 4 bytes and then pressing space will make you go there. Backspace returns
  • Added the .cetrainer file extension so you can download very small files and have great trainers

    January 10 2011:Cheat Engine 6.0 Released:

    It has taken a while but the wait has been worth it: Cheat engine 6.0 has been released
    It's not only a new version with some new features, but a complete port from Delphi to Freepascal/Lazarus with support for 64-bit
    Of course, some features could not get implemented in this new version just yet, like the directx mess and trainer creator, but they are planned to come back in the next versions. If you need to use them, just use Cheat Engine 5.6.1 instead(Check the download page if you need it). And other features have just been stripped because they where useless (hyperscan)
    Of course, new stuff has been added like the VEHDebugger, improved pointerscan speed, ability to compare to the values of a saved scan, advanced scripting, etc...etc...etc...

    If you encounter bugs or have suggestions, please do not hesitate to report them. If you don't I can't fix/improve Cheat Engine



    Cheat Engine 6.0

    Fixes:

  • several disassembler fixes
  • change by offset supports negative hexadecimal offsets
  • several fixes to the data dissector
  • Fixed simple paste
  • Hextype won't change pos
  • January 11 2011: Fixed a hotkey issue
  • January 11 2011: Fixed the stringlist_add crash


    Changes:
  • Added a 64-bit version
  • Different compiler (uses fpc/lazarus now instead of delphi)
  • Addresslist has been reimplemented from scratch
  • Debugger has been reimplemented from scratch
  • Hexview has been redesigned
  • Added a new debuggerinterface : VEHDebugger
  • replaced underc with lua
  • Added several lua routines
  • pointerscanner speed increased
  • custom types changes from scantype to valuetypes that can be used in multiple locations
  • disassembler shows colors and can be configured
  • improvements to the stackview
  • added tabbed scans
  • standalone Trainermaker is currently not implemented
  • added the option to save scanresults
  • You can now compare the current addresslist to the values of a saved scan (first scan included)
  • The above also makes the percentage scans more useful, so a between % scan has been added as well
  • Tables can now contain lua scripts that can get executed
  • Table entries can execute lua scripts when enabled/disabled (see it as an extension to auto assembler)
  • Added conditional breakpoint
  • added break on data breakpoint
  • automated "find what accesses address" now shows a trigger count
  • Hotkeys on cheat entries have been improved
  • Temp files don't get saved in the ce folder anymore
  • Cheat Tables don't get saved in the ce folder anymore
  • Added a suggestion where you can save your tables now
  • Cheat table entries can now be dragged and dropped, including on top of eachother
  • Hexview can now show seperators any way you like
  • You can compare two hexviews with eachother to show the differences
  • Added the 7 byte hexadecimal display type
  • Added some extra plugin apis
  • Improved the change register on breakpoint gui
  • And lots of other stuff...



    Also, I heard news that scientists have finally managed to create pigs with wings

    January 5 2011:Shortcut to launch Cheat Engine missing:

    In case you're noticing that when you start Cheat Engine you get a message that the shortcut isn't valid anymore and Cheat Engine.exe has been deleted from your system then you've become the victim of a really crappy anti virus program. (Really, any anti virus that deletes files without user permission is crap)
    This is probably also the cause for the "Error Code 2" message during install

    The solution to this problem is uninstall your anti virus(McAfee in particular) and reboot. Then reinstall Cheat Engine and everything should work fine(perhaps installing a different anti virus as well, as long as it isn't McAfee)

    And if you feel like it please contact that anti virus vendor (e-mail and/or forum) and let them know they should stop deleting Cheat Engine.exe (Even if their forum already has more than 100 topics about it)

    also, Cheat engine 6.0 will be out any day now

    Juli 1 2010:Before I forget:

    Because I'm getting flooded with e-mails of people that don't check the forum, if you're using firefox and want to use Cheat Engine on a browser game, then open plugin-container.exe instead of the firefox process. (That process will only exist when the game has already been started)

    June 30 2010:10 year anniversary and 5.6.1 release

    Well, it's been a decade now that the first version of Cheat engine saw the light
    To celebrate that fact I've released ce 5.6.1 , which is mainly a bugfix version but also has some small usability improvements, I also wanted to put out a beta version of CE 6 today but since it has an annoying bug that makes the foundlist hard to use I'll spend some more time on that first.

    link: Cheat Engine 5.6.1

    Fixes:

  • Fixed bug where ce would crash(close) on XP systems on certain type of games when opening a process
  • Fixed the error at "Same as first scan" when using the float type
  • Pointer rescan for value now accepts more than 8 characters
  • Fixed pointerscan for value not supporting more than 1 thread
  • Fixed showing the fpu in the kernelmode debugger
  • Fixed Decreased/Increased by %
  • Dissect Data now detects non-exact floating point values again
  • Disabled executing the aobscan when assigning a script to the table
  • Some disassembler fixes
  • Again some more DPI fixes
  • The byte-editor in the hexeditor window is now properly aligned at the proper height
  • The XMM registers are now shown for kernelmode debugging as well
  • Implemented the stop button for kernelmode "Find what addresses this code accesses"
  • Fixed error message when pressing enter and no address is selected in the addresslist
  • Fixed samememory regions so the last byte is now included as well
  • Fixed the simple-copy/paste option in settings (it now has effect)
  • Fixed bug where pressing alt made a lot of controls invisible in vista and later
  • Fixed the pointerscan bug that caused out of memory problems for the scan (Was already secretly fixed and released for 5.6 one week after the official release, but still mentioning it)


    Changes:
  • Rightclicking on registers(multiple locations) saves them to the clipboard
  • The values of dissect data can now be saved to disk
  • Auto Assembler script entries have a small <script> text you can click for easier script editing
  • The commonmodulelist.txt has been updated with some extra dll's that have nothing to do with the game (thanks to psych)
  • AutoAssembler: You can't move the cursor beyond the end of a line anymore
  • Pointerscan: Pointerscanner now tells you that pressing stop is a stupid thing to do
  • Pointerscan: doubleclicking an pointer with invalid base now adds it anyhow. (In case the base becomes valid again later)
  • Several extra window positions are now saved when the option to save the position is enabled (included pointerscan and autoassembler)
  • CE now notifies you if it thinks there's not enough dispace left
  • Default pointer option is now set back to insert instead of append
  • Added a "Same as first scan" hotkey option
  • When opening a new process and chosing to disable everything now also disables entries in advanced options


    If you encounter bugs, please let me know (forum pm/post, Bugreport or dark_byte@hotmail.com)
    P.S.:If you have questions read the FAQ first, it may contain the answer to your problem, even if you don't like the answer

    January 31th 2010:Cheat Engine 5.6 Released

    And again, I failed to update versions inbetween...(mainly having to do with dealing with a new dissaster every month). Of course, those that compiled the svn sourcecode did get to enjoy the new stuff earlier
    Anyhow, version 5.6 is finally released and it has some neat features and opens several new possibilities for plugins to do some neat stuff
    link: Cheat Engine 5.6


    Changes:

  • Removed stealthmode. (Someone could make a plugin for this, one probably more advanced than the old one)
  • Pointerscanner speed has been increased a lot
  • New Icon (thanks to Phox from the forum)
  • The pointerscanner can now scan for values
  • The pointerscanner now lets you specify an offset list that it has to end with.
  • Removed the injected pointerscanner
  • The auto assembler now supports code outside of [enable] and [disable] sections so it affects both
  • Resultcount is now comma seperated (thanks to infinito)
  • New kernelmode debugger
  • Added the ability to offload the current OS to dbvm (if your cpu supports it)
  • The driver is now 64-bit compatible. (You will have to sign it yourself, or reboot with unsigned driver support)
  • Rewrote the disassemblerview
  • Deleting addresses from a scanresult is now a bit faster
  • Changed the hotkey handler to be more controllable
  • New heaplist that works based on dll injection instead of toolhelp32
  • Dissectcode now helps finding referenced strings
  • Added a new Auto assembler command "aobscan(varname, arrayofbyte)"
  • Added a new Auto assembler command "assert(address, arrayofbyte)" which will make a script fail if the bytes aren't what they should be
  • Dissect data now works with offsets instead of sizes
  • Added the ability to follow pointers easily with Dissect Data
  • There's now a stacktrace visible during debugging (2 different types)
  • The registerview is gone as long as you're not debugging
  • CE now suppresses the "No disk" message when the systems searchpath is invalid
  • Added a common modulelist to the ce folder that you can edit. Include files that you do NOT want to go through when doing memory inspection
  • You can now open another pointerscanner window while another pointerscan is running and read the results.
  • The pointerscanner can now also scan for values
  • Added a string reference windows
  • Improved the plugin system:
  •     You can now add auto assembler commands
  •     You can now get a callback when the disassembler is being rendered
  •     You can now add a plugin item to the context of the disassemler
  •     etc...
  • Added (float)#, (double)# and (int)# support to the assembler, (double) is mainly usable in combination with the new DQ command though


    Fixes:
  • Fix mov [reg],reg disassembly when a 16-bit prefix is used
  • Fixed some floating point assembler instructions
  • Taborder fix for "Value between scan" (infinito)
  • Fixed the Auto assembler code injection template with regard to the "Alt:" line
  • Jmp FAR instruction not shown properly in the disassembler
  • Fixed disassembler instructions that had a rep/repe prefix while they shouldn't
  • Fixed xorps instruction
  • Fixed assembler where segment registers are used
  • Fixed rm32,imm16 notations getting dowsized to rm32,imm8 while they should go rm32,imm32
  • Fixed hang when setting the window on top and then doing a scan
  • Fixed FILD qword instruction
  • Fixed FNSTSW AX instruction
  • Fixed FCOM instruction
  • Fixed IMUL,0a instruction
  • Fixed broken alt-key when the disassemblerview is focused
  • Fixed the bug where removing a assigned hotkey to a cheat table didn't work
  • Fixed the floating point panel. It now actually shows the floating point values...
  • Fixed several bugs in the Dissect Data window
  • Several gui fixes for high dpi systems

    Many thanks to everyone that reported bugs (e.g csimbi and Recifense) and suggestions.
    Thanks to Psy for helping with the helpfile
    And thanks to Oliver Sahr who has sent me a lot of suggestions, data and other information, which I will work through in the coming months. And probably make adjustments to the site accordingly

    As for the future of CE, perhaps I can finally continue work on the 64-bit port of CE...
    And again, if you encounter bugs, please let me know (forum pm/post, Bugreport or dark_byte@hotmail.com)
    P.S.:If you have questions read the FAQ first, it may contain the answer to your problem, even if you don't like the answer

    January 18th 2009: Cheat Engine 5.5 released

    I guess I didn't officially update CE as often as I hoped, but anyhow, here's the new version: Cheat Engine 5.5

    Changes:

  • added 'short' and 'far' override to the jump instructions. (Mainly usefull for auto assembler scripts that by default pick the far one)
  • copied the "Find out what addresses this code accesses" from advanced options to memory view
  • Made the above function display the current value so you don't have to add them first
  • And made it non-modal so you can do other stuff while it's working.
  • Improved custom scan so it can now also display the results
  • New speedhack implementation
  • New AutoAssembler window
  • Removed the question if you want a new scan. (You must now click on new scan yourself)
  • Added GlobalAlloc to the autoassembler
  • The dissect structure window can now be opened multiple times (for comparison)
  • Structures are now saved in the cheat table
  • The main ce window now has a menu (can be disabled in settings if you don't like it)
  • The processlist can now show process icons. (could be slow, so can be disabled in settings)
  • The settings window has been changed from tabs to a list
  • Added a tools menu so people can add quicklaunch apps. (e.g: calc)
  • Added the option to save and load tables as XML
  • Changed copy/pasting of entries to XML
  • Helpfile changed from .HLP to .CHM , also incorporated the plugin documentaion in the helpfile instead of a seperate .RTF
  • Added a few new functions to the plugin system and made the examples easier to understand (Mainly for helping with assembly scripts)
  • Added a packet editor example plugin
  • Assembler can now work with " and ' strings
  • Changed the reverse pointer scan to give more details about what is going on
  • The positions of the main window and memoryview can now be saved
  • The about window now tells you which version of dbvm is loaded if dbvm is running
  • If DBVM is running and you choose physical memory, it goes through dbvm's read physical memory instead of windows'
  • Added a floating point panel to several windows that use system context to display variables
  • Added the option to the memoryview hexview part to display 2 bytes, 4 byte, float or double instead of bytes
  • Improved the dissect data window to show addresses next to eachother
  • The bottom part of the memory view window (hexview) can now display as different types (byte, 2 byte, 4 byte, decimal 4 byte, float, double)
  • Changed the multi pointer tutorial step so it now represents a real game situation
  • Added the adminRequired anifest to the standalone trainer

    Fixes:
  • Fixed the multicore scan crash
  • Fixed the MEMORYFIRST.TMP file showing up in a weird location
  • Fixed several hotkey setting bugs
  • Fixed loading back the speedhack hotkey values
  • Fixed a crash when opening a process with a broken PE-header
  • Fixed several assembler and disassembler instructions
  • Fixed memoryviewers "copy to clipboard" option where it picks the wrong option
  • Fixed binary scan crash on nextscan
  • Fixed huge memory leak in pointerscanner
  • Fixed the "No error message" on error during a scan
  • Fixed bug with calling kernel_XXXX functions in assembler
  • Fixed a trainer bug regarding clicking on cheats
  • Fixed 32-bit icons in the trainer maker
  • Fixed the terminate scan option
  • Fixed a DPI bug on several windows
  • Fixed a crash when loading of the symbols failed

    I've also uploaded a new version of dbvm that should be more compatible with systems that have more than 4GB ram and fixed several bugs. Also started implementing an emulator for the 'hard to virtualize' sections. So for those that know the difference between an IDT and a SDT, go ahead and download dbvm

    Enjoy this version, and if you encounter bugs, please let me know (forum pm/post, Bugreport or dark_byte@hotmail.com)
    P.S.:If you have questions read the FAQ first, it may contain the answer to your problem, even if you don't like the answer

    July 27th 2008: DBVM source

    Still busy with other stuff(But I do manage to work on CE every now and then), but since some people are having trouble with DBVM on their system I've decided to open up it's sourcecode for the public, so other people can make improvements. It still needs a lot of cleanup work, and some parts could be used from other programs, or even from inside the compiler(I have this nagging feeling the whole common.c part could get removed if build in precompiled)
    I've made this package to compile on a 64-bit fedora core linux distro (I myself use a cross-compiler on a 32-bit laptop to generate the 64-bit, but this should be easier for people to use) but other distros should work too
    Packages needed: nasm and yasm and optionally mkisofs and rar to make a package release

    Stuff that really needs some improvements:

  • Makefile, I know, it's not a 'standard' makefile. But it suits my needs. If anyone feels like it. Make a better one.
  • The linking and filling in sizes could probable be done better instead of parsing the .MAP file to find the location
  • Changing the hardcoded vmread/vmwrite values's with more meaningfull defines
  • Better support for multicore setup
  • The virtual machine's first sector loader+executioner may need some extra code to make it work on more systems
  • Some real-mode 'special' cases may need some extra work
  • Emulating paging speed improvement and making it work for PAE systems. Still can't figure out why PAE just refuses to work
  • AMD support

    You can download it here.



    May 25th 2008: Still alive

    I've been busy with other stuff but just wanted to let you all know there's still some stuff being done. The last few days a few bugfixes for CE commited in the SVN, several forum fixes regarding avatar and signature size, still busy planning a migration to phpbb3 someday, and updated the table database to update the date when a table is updated.
    Also letting you know there's still some more updates planned


    January 10th 2008: DBVM bugfix

    For those that know how to use it, I've updated DBVM to version 0.4. Check the downloads page.
    It mainly fixes the bug where it doesn't initialize secondary cpu cores, sets the A20-line to enabled, and a possible fix for systems with 4GB or more ram.


    January 1st 2008: New year, new site, new Cheat Engine 5.4

    Happy 2008!
    As you can see the new site is up, and also released version a new version of Cheat Engine(changes)
    And always, please report bugs when you encounter them. I refuse to fix them if you don't tell me about them just to annoy you!

    My good intention for this year is to try to update Cheat Engine a bit more often(if I get the chance). Anyhow, check out the bugtracker and the SVN for the latest news regarding the development of CE. There is also a wiki in the SVN so if you'd like to read it or contribute: Go here

    Also, don't worry about the layout right now. May get some heavy changes in the future, but at least now I've got a better base to start with. (One change edits all pages as compared to the old site where each edit of the style or adition of the menu required editing each single file)