Cheat Engine, commonly abbreviated as CE, is an open source memory scanner/hex editor/debugger for Windows operating system. As implied by the name, it is mostly used for cheating in computer games. However, as a memory scanner / hex editor / debugger, it can debug any running process and edit value on the fly.
Cheat Engine comes with two version: 32 bit and 64 bit. It is also run well on major Windows platform (ranging from XP to Windows 8).
Cheat Engine is written in Lazarus (open source IDE equivalent to Delphi) and C for kernel module. Mostly written using Pascal (specifically: Object Pascal).
Not a Virus!
Most Antivirus think Cheat Engine is a virus. However, they are wrong. Cheat Engine is not a virus. To make it clear, Cheat Engine has some tools that AV think are dangerous like hacking tools (will be covered in next section). Cheat Engine is completely safe program. Also, http://www.cheatengine.org is not responsible of any illegal use of Cheat Engine. They are only provide the tools, anyone can use it. If you get caught using it for illegal action, it’s your problem.
Cheat Engine can view the disassembled memory of a process and make alteration of it. It can also search for certain pointers. CE also has some Direct3D manipulation tools, allowing user to see through walls, zoom in/out and with some advanced configuration allows CE to move the mouse to get a certain texture into the center of the screen. This is commonly used to create aimbots.
Cheat Engine can also inject code into other process. However, this behavior might be caught by Anti Virus software as virus / malicious software.
Cheat Engine can also produce Game Trainers from cheat tables.
Cheat tables is a mechanism and feature provided by Cheat Engine which allow user to share their addresses, code locations, and cheats script with other. Cheat table is a plain text containing data such as cheat addresses, scripts, and code locations. The file itself has extension .CT.
Speed hack or speedhack is a feature lets user to speed up or slow down process. With this, CE can act as multiplier for time reference.
However, speedhack cannot be used to speed up physical occurrence like download speed, or the speed other people connected to the server experience time. Speedhack only affect time reference for an application.
How to Get Cheat Engine?
Cheat Engine is open source and free to use, where the binary can be downloaded from its official website. It also has big community ready to help
Cheat Engine official website: http://www.cheatengine.org/
To begin, we should load a process to our CE.
Open the list of running process. To do this, look for a glowing computer icon on the top-left.
Click it to open the process menu. Search for the process you want to open. Usually you would find a running game. The process is listed as PID (Process ID) and the registered name. However, as I said, Cheat Engine can open any process, so I will choose Windows Media Player now.
So I (in my case) choose wmplayer.exe, a Windows Media Player process, with PID 000009F8. You will then be brought to CE main interface. Notice that your CE now focus itself to wmplayer as you can see from here:
Cheat Engine Interface
Now let’s talk about CE window interface.
Cheat Engine has a menubar with some menu there. We will discuss the latest Cheat Engine version per August 3rd, 2013 which is Cheat Engine v6.3.
CE 6.3 has menubar with following menu: File, Edit, Table, D3D, Help. We will cover the basic things in this article, the deep explanation will be held at another article.
File is the first menu on menu bar. It is used to store function for non main logic process, such as save and load, open process, etc.
Edit menu has only one child menu: setting. This menu will help us setting Cheat Engine for our need.
Table menu is used to manipulate cheat table and using Lua scripting for manipulating Cheat Engine.
D3D or Direct3D is used for manipulation of Direct3D with Cheat Engine. It will be discussed later.
Help menu is (obviously) contain menu for guide or software guide / help.
There are two area we can focus on:
Scanning option, some scanning option will be displayed here. We can play our imagination here. More explanation later.
Scanning result. This will list the memory location which matched our scanning criteria on scanning option. On Cheat Engine v6.3, every entry has three column: Address, (current) Value, Previous (value).
Well, I don’t know what suitable term to refer this area. This is a table contains some entries. The entries in this area is memory address which we are working at. We will manipulate the content here. We got the entry by copying / moving entry we got from scanning result.
Here we have five column for each entry: Active, Description, Address, Type, Value.
Active is whether the value is active / frozen. When the address is frozen, any modification cannot change the value. Description will display any description, specific for the memory (we set it). Address is the location in the memory. Type is the data type (byte, 2 byte, 4 byte, 8 byte, etc. See scanning option). Value is the value hold on the memory location.
“Cheat Me” Tutorial
Cheat engine comes with a FREE TUTORIAL. We can use this tutorial as a guide to mastering Cheat Engine. Precisely, there is a program on your Cheat Engine application directory. It should be named something like Tutorial.exe (or something like Tutorial-x86_64.exe and Tutorial-i386.exe if you have 64-bit version).cheat engine, memory