Cheat Engine
Cheat Engine,
commonly abbreviated as CE, is an open source memory scanner/hex editor/debugger created by Eric Heijnen ("Dark Byte") for the Windows operating system. Cheat Engine is mostly used for cheating in computer games, and
is sometimes 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 that allow the user to find and sort through the computer's memory.
Cheat Engine can also create standalone trainers that can operate independently of Cheat Engine.
Features
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 manipulation tools, allowing you to see
through walls and zoom in/out, and with some advanced configuration Cheat
Engine will move the mouse for you to get a
certain texture into the center of the screen. This is commonly used to create aimbots. However, the main use for Cheat Engine is in
single player aspect of games and its use inmultiplayer games is discouraged.
Cheat Engine can inject code into other processes and as such
most anti-virus programs mistake it for a virus. There are versions that avoid
this false identification at the cost of many features (those which rely upon
code injection). The most common reason for these false identifications is that
Cheat Engine makes use of some techniques also used in trojan rootkits to gain
access to parts of the system, and therefore gets flagged as suspicious,
especially if heuristic scanning is enabled in the anti-virus program's
settings. Newer versions of Cheat Engine are less likely to be blocked by
anti-virus programs so features like code injection can be used without problems.
As of version 6.1, Cheat Engine can produce Game Trainers from the tables. While trainers generated in
this way are typically very large for their intended purpose, generally used
for testing purposes, some have been released by trainers groups as
"final" versions and even some popular
sites are fully based on CE trainers[6] due to the ease of trainer creation with CE. However, despite
their popularity, CE trainer maker has not been updated since its
implementation in version 6.1, is largely unsupported and emphasis is given on
using Lua to generate trainers. Even the trainer maker
itself uses Lua scripts to generate trainers.
Implementations
Two branches of Cheat Engine exist, Cheat Engine Delphi and Cheat Engine Lazarus. Cheat Engine Delphi is primarily for 32-bitversions of Windows XP. Cheat Engine Lazarus is designed for 32 and 64 bit versions of Windows 7. Cheat Engine is, with the exception of the Kernel Module,
written in Object Pascal.
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.
The module is compiled with the Windows Driver development kit and is written in C.
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. These plugins
can be found in several locations on the cheat engine website, and also other
gaming sites.[9]
Cheat Engine Lazarus has the ability to load its unsigned 64-bit
device driver on Windows Vista and later x64 bit versions of Windows, by using
DBVM, a virtual machine by the same developers that allows access to kernel space from user mode. It is used 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.
Cheat Tables
Cheat Engine allows its users to share their addresses and code
locations with other users of the community by making use of cheat tables.
"Cheat Tables" is a file format used by Cheat Engine to store data
such as cheat addresses, scripts including Lua scripts and code locations,
usually carrying the file extension .CT. Using a Cheat Table is straightforward and involves simply
opening the Cheat Table through Cheat Engine and enabling/ticking the cheats
stored within it. The ability to save and share Cheat Tables has resulted in a
large online community for sharing cheats through the Cheat Engine Forums.
Popular Cheat Tables are hosted in a dedicated Cheat Table section on the Cheat
Engine website.
In addition to simple memory addresses, cheat tables can extend
the functionality of Cheat Engine using the Lua scripting language. Almost all of Cheat Engine's features are
scriptable, and it is even possible to design custom dialogs to interact with
scripts.
Comments
Post a Comment