Cheat Engine

From Wikipedia, the free encyclopedia

Cheat Engine

Cheat Engine under Windows Vista, with some addresses in the list.
Design by Eric Heijnen
Developed by Eric Heijnen
Initial release 2.3
Stable release 5.4  (12/31/2007) [+/−]
Written in Borland Delphi
OS Windows
Available in English
Genre Debugger
License Adaptive Public License
Website Official Website
Cheat Engine Forum

Cheat Engine, commonly abbreviated as CE, is a free memory scanner/hex editor created by Eric "Dark Byte" Heijnen for the Windows operating system.[1] 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.

Contents

[edit] Cheatengine forum

The cheatengine forum now has a very large database of members with an approx of 88550(correct at the time: 3/05/2008) members registered on the memberlist. It is filled with trainers (pre-made hacks) and hacking tools created by the members and is a great resource if you are looking for hacks (cheats) for games. The type of games it is directed at are very widespread and only excludes games involving sexual content.

[edit] Coding

Two branches of Cheat Engine exist, Cheat Engine Delphi and Cheat Engine Lazarus. Cheat Engine Delphi is primarily for 32-bit versions of Windows XP. Cheat Engine Lazarus is designed for 32 and 64 bit versions of Windows Vista. Cheat Engine is, with the exception of the Kernel Module, coded in Object Pascal.[2]

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.[3]

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.[2]

[edit] Scripting

Cheat Engine has an auto assembler engine for injecting assembly code into processes that supports standard x86 opcodes as well as MMX, SSE, and SSE2 opcodes. Unlike many other cheating tools, Cheat Engine's (dis)assembler engine is not based of that of Ollydbg. For Cheat Engine's own User Interface, Cheat Engine has an integrated C++-like scripting language based on the UnderC project.[4]

[edit] Future

Cheat Engine Lazarus now has the ability to load its unsigned 64-bit device driver on Windows Vista x64 edition, by using DBVM to allocate nonpaged memory in kernel mode, manually loading the executable image, and creating a system thread at DriverEntry. However, since the DriverEntry parameters are not actually valid, the driver must be modified for DBVM.

[edit] DBVM

Cheat Engine version 5.4 and above can interact with "DBVM" (Dark Byte's Virtual Machine), a Hypervisor/Tiny Operating System that boots immediately before any Operating System encapsulating it in a virtual machine environment, developed to help circumvent anti-cheating software and x64 versions of Windows' Kernel Patch Protection and anti unsigned code loading technology. Because DBVM uses the newer Intel-VT instructions it requires certain hardware to function, most importantly an Intel Core 2 Duo or newer. It is currently not compatible with AMD processors.[5]

[edit] References

  1. ^ Heijnen, Eric. About Cheat Engine. CheatEngine.org. Retrieved on 2008-03-20.
  2. ^ a b Heijnen, Eric (2007-01-24). Contributing to CE. Cheat Engine forums. Retrieved on 2008-03-20.
  3. ^ Valk, Kevin (2008-12-20). Cheat Engine - Trac - compileinfo.txt. Cheat Engine trac. Retrieved on 2008-03-20.
  4. ^ Donovan, Steve (2002-10-01). UnderC Mini-FAQ. UnderC Project. Retrieved on 2008-03-21.
  5. ^ Heijnen, Eric. About DBVM. CheatEngine.org. Retrieved on 2008-03-20.

[edit] External links