Cheat Engine
January 30 2011:the application failed to initialize properly (0xc0150002)For those that are getting the above error download the Visual C++ 8 redistributable. It is used by the lua dll's that CE makes use of.
links:
32-bit 64-bit
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
Bugfixes after the official release (Max 1 week):
January 11 2011: Fixed a hotkey issue
January 11 2011: Fixed the stringlist_add crash
January 13 2011: Fixed a deadlock in the lua createProcess command
January 15 2011: Fixed the lua writeXXX commands
January 16 2011: Fixed assembling st(0),st(x) instructions and one more hotkey issue
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)
September 9th 2007: New design
Started with designing a new website. The new site should give a better idea about what Cheat Engine is and what it can do. Also adding some new stuff like a bugtracker, info about DBVM and even info about Cheat Engine
Right now this page is only visibile using the /newsite/ link, but soon (when ce5.4 is released) this will become the main page
April 24th 2007: Site back
Sorry for the downtime, but my host couldn't handle the ammount of visitors and died. So if you're reading this, that means the move was successfull Anyhow, check the forum for more info
September 9th 2006 Cheat Engine 5.3 released
I kinda forgot to update this mainpage in a long time. Don't think that CE is stopped, I just suck at updating websites. Anyhow, check the download page for the download
November 28th 2005: Cheat Engine 5.2 released
It has taken a while but I finally released CE 5.2
Added some shortcut keys to the main window. (ctrl+o opens a table, ctrl+s saves, and ctrl+alt+a opens the auto assembler)
Added reinterpretable addresses
Added auto assemble scripts to the auto assembler
Added auto assemble scripts to cheat tables
Added a pointer scanner
Added the ability to define structures
Added address recalculation by module in the standalone trainer as well (for code entries, standard addresses use interpretable addresses)
Added the db 'string' opcode to the assembler
Added the REGISTERSYMBOL and UNREGISTERSYMBOL functions to the auto assembler
Addresses now indicate of a address is in a static address or dynamicly allocated
Added a show checkbox and show hotkey property to the cheatlist in the auto assembler
Added a click handler to seperate cheats in the trainer maker. (clicking enables a cheat)
Made it possible to also use ce's kernel debugger for "change register on breakpoint"
Changed the code finder so it's not modal anymore. (You still can't use multiple at the same time but it'll fix some 'not so' user-friendly problems)
Changed the hyperscan injection method when windows 2000 is detected. should be more stable
Changed the save routines in the memory view to give more options when saving and loading
Fixed some assembler and disassembler bugs
Fixed "force memory to be writable" on PAE enabled systems
Fixed the bug where the module name was not saved in the cheat table of a code entry
Fixed the bug where the first character of the trainer maker user input field got replaced by a ?
Fixed float->unknown initial scan->first scan->exact value not showing the type selection
Fixed find out what ... when using access violations and clicking stop
Fixed invalid reordering of entries after delete of a entry in the trainer maker
Fixed the corrupted title and about text in the generated trainer when protection was enabled
Fixed resizing of the cheatlist after a delete in the trainer maker
Fixed one or two spell errors
Fixed the fullaccess function in the auto assembler
Fixed support for floating points in the trainer maker (difference between , and .)
Moved all symbolhandler code to one class instead of speading it all over the rest of the code
changed the copy/paste of entries to be more stable
Please, report bugs to me when you find them else I'll never fix them.
September 24th 2005: Cheat engine 5.1.1
Because of a huge memory leak in Cheat Engine 5.1 I've done a quick bugfix in the form of Cheat Engine 5.1.1 The only new thing in this version is that it fixes that memory leak.
September 6th 2005: Cheat Engine 5.1
Cheat Engine 5.1 has finally been released.
It's basicly a bugfix version, but also contains a few new features. Check out in the download section to see what's new.
Also, like always, if you encounter bugs, or know something to improve it, please don't hesitate to tell me about them
August 8th 2005: New site
Thanks to some donations and advertisements I've finally got myself an easier to remember website:
cheatengine.org
And don't think I've been sitting still on the development of CE. I dont know the exact date but you can expect a new release quite soon. It'll mainly be a bugfix version like it fixes support for PAE enabled systems and 64-bit processes in winxp 64, but it'll also include several new aditions like a code dissector, a template for code injection in the auto assembler, and some other small stuff.
And I'll be cleaning up the code a bit and perhaps even improve performance while doing so.
Another thing, I'd like give thanks to all the people that have helped me so far and hope you and everyone else will keep on supporting Cheat Engine