Convert Figma logo to code with AI

cheat-engine logocheat-engine

Cheat Engine. A development environment focused on modding

15,830
2,297
15,830
1,166

Top Related Projects

17,489

Clone this repo to build Frida

45,921

An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis.

21,578

UNIX-like reverse engineering framework and command-line toolset

8,512

Exploit Development and Reverse Engineering with GDB & LLDB Made Easy

7,430

GEF (GDB Enhanced Features) - a modern experience for GDB with advanced debugging capabilities for exploit devs & reverse engineers on Linux

56,604

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

  1. Download the latest release from the official GitHub repository.
  2. Install Cheat Engine on your Windows system.
  3. Launch a single-player game you want to modify.
  4. Open Cheat Engine and select the game process from the process list.
  5. Use the memory scanner to search for values you want to change (e.g., health, ammo).
  6. Once found, modify the values as desired.
  7. 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

17,489

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.

45,921

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.

21,578

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.

8,512

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.

7,430

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.

56,604

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Cheat Engine

Cheat Engine is a development environment focused on modding games and applications for personal use.

Download

Older versions

Links

Social Media

Donate

Basic Build Instructions

  1. 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

  2. Run Lazarus and click on Project->Open Project. Select cheatengine.lpi from the Cheat Engine folder as the project.

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

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)