Top Related Projects
Clone this repo to build Frida
An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis.
UNIX-like reverse engineering framework and command-line toolset
Exploit Development and Reverse Engineering with GDB & LLDB Made Easy
GEF (GDB Enhanced Features) - a modern experience for GDB with advanced debugging capabilities for exploit devs & reverse engineers on Linux
Ghidra is a software reverse engineering (SRE) framework
Quick Overview
Cheat Engine is an open-source memory scanner/debugger tool primarily used for modifying single-player games. It allows users to search for and modify values in a game's memory, enabling features like infinite health, ammo, or other game modifications. While primarily designed for Windows, it also has limited support for Mac and Android.
Pros
- Powerful memory scanning and modification capabilities
- User-friendly interface with built-in tutorials
- Extensive scripting support for advanced users
- Active community and regular updates
Cons
- Can be used for cheating in online games, which is often against terms of service
- May trigger anti-cheat systems in some games
- Learning curve can be steep for beginners
- Potential for misuse in non-gaming applications
Getting Started
- Download the latest release from the official GitHub repository.
- Install Cheat Engine on your Windows system.
- Launch a single-player game you want to modify.
- Open Cheat Engine and select the game process from the process list.
- Use the memory scanner to search for values you want to change (e.g., health, ammo).
- Once found, modify the values as desired.
- For more advanced usage, explore the built-in tutorials and scripting capabilities.
Note: Always use Cheat Engine responsibly and only on games you own. Avoid using it in online multiplayer games or any software where modifications may violate terms of service.
Competitor Comparisons
Clone this repo to build Frida
Pros of Frida
- Cross-platform support (iOS, Android, Windows, macOS, Linux)
- Dynamic instrumentation with live code injection
- Scripting in JavaScript for easier customization
Cons of Frida
- Steeper learning curve for beginners
- May require more setup and configuration
- Less user-friendly GUI compared to Cheat Engine
Code Comparison
Frida (JavaScript):
Java.perform(function () {
var MainActivity = Java.use("com.example.app.MainActivity");
MainActivity.onResume.implementation = function () {
console.log("onResume() called");
this.onResume();
};
});
Cheat Engine (Lua):
function onOpenProcess()
local address = getAddress("GameAssembly.dll+1234567")
writeInteger(address, 100)
end
Frida focuses on dynamic instrumentation using JavaScript, allowing for more flexible and powerful runtime modifications. Cheat Engine, on the other hand, provides a simpler approach with memory scanning and modification using Lua scripting.
Frida excels in mobile app analysis and cross-platform support, while Cheat Engine is more beginner-friendly and better suited for game hacking and memory manipulation on desktop platforms.
An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis.
Pros of x64dbg
- More focused on low-level debugging and reverse engineering
- Better support for x64 architecture
- More extensive plugin ecosystem
Cons of x64dbg
- Steeper learning curve for beginners
- Less user-friendly interface compared to Cheat Engine
- Primarily Windows-focused, limiting cross-platform usage
Code Comparison
x64dbg (assembly view):
mov eax, [esp+4]
add eax, 5
push eax
call dword ptr ds:[<&MessageBoxA>]
Cheat Engine (Lua script):
local address = getAddress("GameBase.exe+0x1234")
writeBytes(address, 0x90, 0x90, 0x90)
While both tools are used for debugging and memory manipulation, x64dbg is more suited for advanced reverse engineering tasks, offering detailed assembly-level analysis. Cheat Engine, on the other hand, provides a more accessible interface for memory scanning and game cheating, with built-in Lua scripting capabilities for automation.
x64dbg excels in low-level debugging scenarios, making it a preferred choice for malware analysis and software reverse engineering. Cheat Engine's strength lies in its user-friendly approach to memory manipulation, making it popular among game modders and cheat developers.
UNIX-like reverse engineering framework and command-line toolset
Pros of radare2
- More comprehensive reverse engineering framework with a wider range of tools
- Better suited for advanced users and complex analysis tasks
- Supports a broader range of architectures and file formats
Cons of radare2
- Steeper learning curve and less user-friendly interface
- Primarily command-line based, which may be less intuitive for some users
- Less focused on real-time memory manipulation compared to Cheat Engine
Code Comparison
radare2:
r2 -d binary
[0x00400000]> aaa
[0x00400000]> pdf @ main
Cheat Engine:
// No direct code comparison available
// Cheat Engine primarily uses a GUI interface
Summary
radare2 is a powerful reverse engineering framework with a wide range of capabilities, making it suitable for advanced users and complex analysis tasks. It supports numerous architectures and file formats but has a steeper learning curve.
Cheat Engine, on the other hand, is more focused on real-time memory manipulation and game cheating, with a user-friendly GUI that makes it more accessible to beginners. However, it may lack some of the advanced features and flexibility offered by radare2.
The choice between the two depends on the specific needs of the user and their level of expertise in reverse engineering and binary analysis.
Exploit Development and Reverse Engineering with GDB & LLDB Made Easy
Pros of pwndbg
- Specifically designed for reverse engineering and exploit development
- Integrates seamlessly with GDB, providing enhanced debugging capabilities
- Offers a wide range of commands tailored for binary analysis and exploitation
Cons of pwndbg
- Limited to command-line interface, lacking the GUI features of Cheat Engine
- Steeper learning curve, especially for users not familiar with GDB
- Primarily focused on Linux systems, with limited support for other platforms
Code Comparison
pwndbg:
from pwn import *
context.update(arch='i386', os='linux')
p = process('./vulnerable_program')
payload = b'A' * 40 + p32(0xdeadbeef)
p.sendline(payload)
Cheat Engine:
local address = 0x12345678
local value = 100
writeInteger(address, value)
While pwndbg is more suited for low-level debugging and exploit development, Cheat Engine offers a user-friendly interface for memory manipulation and game hacking. pwndbg excels in binary analysis and exploit creation, whereas Cheat Engine is more versatile for general memory editing across various applications and games.
GEF (GDB Enhanced Features) - a modern experience for GDB with advanced debugging capabilities for exploit devs & reverse engineers on Linux
Pros of GEF
- Designed specifically for exploit development and reverse engineering
- Integrates seamlessly with GDB, providing enhanced debugging capabilities
- Offers a rich set of commands tailored for security research and vulnerability analysis
Cons of GEF
- Limited to Linux and Unix-like systems, lacking support for Windows
- Steeper learning curve compared to Cheat Engine's more intuitive interface
- Requires command-line proficiency, which may be challenging for beginners
Code Comparison
GEF command example:
gef> checksec
[+] checksec for '/path/to/binary'
Canary : ✓
NX : ✓
PIE : ✓
Fortify : ✘
RelRO : Full
Cheat Engine Lua script example:
function onOpenProcess()
local baseAddress = getAddress("kernel32.dll")
if baseAddress then
print("kernel32.dll base address: " .. string.format("%X", baseAddress))
end
end
While both tools are used for memory manipulation and analysis, GEF focuses on exploit development within GDB, whereas Cheat Engine provides a more general-purpose memory scanning and modification toolkit with a graphical interface.
Ghidra is a software reverse engineering (SRE) framework
Pros of Ghidra
- More comprehensive reverse engineering capabilities, including advanced code analysis and decompilation
- Supports a wider range of architectures and file formats
- Extensible through plugins and scripting, with a large community contributing extensions
Cons of Ghidra
- Steeper learning curve due to its complexity and extensive feature set
- Slower startup and higher resource consumption compared to Cheat Engine
- Less focused on real-time memory manipulation and game cheating
Code Comparison
Ghidra (Java):
public class SimpleDecompiler extends DecompInterface {
public DecompileResults decompileFunction(Function function, int timeout) {
setOptions(new DecompileOptions());
return decompileFunction(function, timeout, null);
}
}
Cheat Engine (Pascal):
procedure TMainForm.btnScanClick(Sender: TObject);
begin
if scanstate=0 then
begin
memscan.firstScan(scanOption, vtDword, rtRounded, edtScanValue.Text, '', 0, $7fffffff, true, false, false, false);
scanstate:=1;
end;
end;
The code snippets demonstrate the different focus areas of each tool. Ghidra's code relates to decompilation, while Cheat Engine's code is centered around memory scanning and manipulation.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Cheat Engine
Cheat Engine is a development environment focused on modding games and applications for personal use.
Download
Links
Social Media
Donate
Basic Build Instructions
-
Download Lazarus 2.2.2 from https://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2064%20bits/Lazarus%202.2.2/ First install lazarus-2.2.2-fpc-3.2.2-win64.exe and then lazarus-2.2.2-fpc-3.2.2-cross-i386-win32-win64.exe
-
Run Lazarus and click on
Project->Open Project
. Selectcheatengine.lpi
from theCheat Engine
folder as the project. -
Click on
Run->Build
or press SHIFT+F9.- you can also click on
Run->Compile many Modes
(tip: select first three compile modes) - If you want to run or debug from the IDE on Windows you will need to run Lazarus as administrator.
- you can also click on
Do not forget to compile secondary projects you'd like to use:
speedhack.lpr: Compile both 32- and 64-bit DLL's for speedhack capability
luaclient.lpr: Compile both 32- and 64-bit DLL's for {$luacode} capability
DirectXMess.sln: Compile for 32-bit and 64-bit for D3D overlay and snapshot capabilities
DotNetcompiler.sln: for the cscompile lua command
monodatacollector.sln: Compile both 32-bit and 64-bit dll's to get Mono features to inspect the .NET environment of the process
dotnetdatacollector.sln: Compile both 32- and 64-bit EXE's to get .NET symbols
dotnetinvasivedatacollector.sln: Compile this managed .DLL to add support for runtime JIT support
cejvmti.sln: Compile both 32- and 64-bit DLL's for Java inspection support
tcclib.sln: Compile 32-32, 64-32 and 64-64 to add {$C} and {$CCODE} support in scripts
vehdebug.lpr: Compile 32- and 64-bit DLL's to add support for the VEH debugger interface
dbkkernel.sln: for kernelmode functions (settings->extra) You will need to build the no-sig version and either boot with unsigned driver support, or sign the driver yourself
*.SLN files require visual studio (Usually 2017)
Top Related Projects
Clone this repo to build Frida
An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis.
UNIX-like reverse engineering framework and command-line toolset
Exploit Development and Reverse Engineering with GDB & LLDB Made Easy
GEF (GDB Enhanced Features) - a modern experience for GDB with advanced debugging capabilities for exploit devs & reverse engineers on Linux
Ghidra is a software reverse engineering (SRE) framework
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot