Cheat Engine, commonly abbreviated as CE, is a free memory scanner/hex editor created by Eric "Dark Byte" Heijnen for the Windows operating system. Cheat Engine is used for cheating in computer games, and has influenced many, as it is often modified and recompiled to evade detection. This program resembles L. Spiro's "Memory Hacking Software", Tsearch, and ArtMoney It searches for values input by the user with a wide variety of options such as "Unknown Initial Value" and "Decreased Value" scans. Cheat Engine can also create standalone trainers that can operate independently of Cheat Engine.
Cheat Engine can view the disassembled memory of a process and make alterations to give the user advantages such as infinite health, time or ammunition. It also has some Direct3D and OpenGL manipulation tools, allowing you to see through walls, zoom in/out and with some advanced configuration allows Cheat Engine to move the mouse for you to get a certain texture into the center of the screen. This is commonly used to create Aimbots.
Cheat Engine is often mistaken for a virus, because Cheat Engine Injects into processes, anti viruses commonly mistakes it for an virus. There is a version that is not detected as a virus, but many of the features are disabled.
Cheat Engine exposes an interface to its device driver with dbk32.dll, a wrapper that handles both loading and initializing the Cheat Engine driver and calling alternative Windows kernel functions. Due to a programming bug in Lazarus pertaining to the use of try and except blocks, Cheat Engine Lazarus had to remove the use of dbk32.dll and incorporate the driver functions in the main executable.
The Kernel module, while not essential to normal CE use can be used to set hardware breakpoints and bypass hooked API in Ring 3, even some in Ring 0. It is compiled with the Windows Driver development kit and is written in the C Programming Language.
Cheat Engine also has a plugin architecture for those who do not wish to share their source code with the community. They are more commonly used for game specific features, as Cheat Engine's stated intent is to be a generic cheating tool.