Cheat Engine

repository·master·Indexed 12 days ago

https://github.com/cheat-engine/cheat-engine

A development environment for modding games and applications, featuring tools for memory scanning, debugging, and script execution. Includes ceserver for Linux and Android connectivity, a Lua interface for the CE Share service, and dotnetinfo for inspecting .NET and Mono metadata, including class member inspection and method detouring.

Tokens
13K
Snippets
36
Records
75
Agent score
98%

What's inside Cheat Engine

  1. Overview of the CED3D10Hook DLL project

    master

    CED3D10Hook is a Dynamic Link Library (DLL) project generated via AppWizard. It is designed to serve as a hook for DirectX 10.

    Key components include:

    • CED3D10Hook.cpp: The primary source file for the DLL implementation.
    • CED3D10Hook.vcproj: The Visual C++ project file containing configuration, platform, and feature settings.
    • StdAfx.h / StdAfx.cpp: Precompiled header (PCH) files used to accelerate build times.
  2. Overview of the CED3D11Hook DLL project

    master

    CED3D11Hook is a Dynamic Link Library (DLL) project designed to hook into DirectX 11. The project is structured as a standard Visual C++ application generated via an Application Wizard.

    Project Structure

    • CED3D11Hook.vcproj: The main Visual C++ project file containing configuration, platform, and feature settings.
    • CED3D11Hook.cpp: The primary source file for the DLL implementation.
    • StdAfx.h / StdAfx.cpp: Files used to manage the precompiled header (PCH) (CED3D11Hook.pch) and precompiled types (StdAfx.obj).

    Customization

    Developers looking to extend the functionality of this hook should look for TODO: comments within the source code, which indicate areas intended for manual addition or customization.

  3. Overview of the CED3D9Hook DLL project structure

    master

    The CED3D9Hook project is a Dynamic Link Library (DLL) generated via AppWizard. It is designed to hook into DirectX 9 (D3D9) applications. The project structure consists of the following key components:

    • CED3D9Hook.vcproj: The main Visual C++ project file containing configuration, platform, and feature settings.
    • CED3D9Hook.cpp: The primary source file containing the DLL implementation logic.
    • StdAfx.h & StdAfx.cpp: Precompiled header (PCH) files used to accelerate the build process, producing CED3D9Hook.pch and StdAfx.obj.

    Developers looking to customize the hook should search the source code for TODO: comments, which indicate areas intended for manual implementation or customization.

  4. Build Cheat Engine from source

    master

    To compile Cheat Engine, you need the Lazarus IDE. Follow these steps:

    1. Install Lazarus:

      • For 32-bit development: Download and install Lazarus 32-bit. Install it in a directory where you have full access (e.g., D:\Lazarus).
      • For 64-bit development: Install the cross-x86_64-win64 addon into the same Lazarus directory.
      • Note for 64-bit Windows users: You can install Lazarus 64-bit instead, but you will need the cross-i386-win32 addon if you wish to develop 32-bit applications.
    2. Open the Project:

      • Launch Lazarus.
      • Navigate to Project -> Open Project.
      • Select cheatengine.lpi from the Cheat Engine folder.
    3. Compile:

      • Click Run -> Build or press SHIFT+F9.
      • Alternatively, use Run -> Compile many Modes (it is recommended to select the first three compilation modes).

    Important: If you need to run or debug directly from the IDE on Windows, you must execute Lazarus as an Administrator.

  5. Install the French language pack for Cheat Engine

    master

    To use Cheat Engine in French, follow these steps to manually install the translation files:

    1. Decompress the languages folder provided in the translation package.
    2. Move the decompressed folder into your Cheat Engine installation directory (the default path is C:\Program Files\Cheat Engine 7.0).
    3. Replace existing files when prompted by the operating system.
    4. Launch Cheat Engine to apply the changes.
    Default Installation Path: C:\Program Files\Cheat Engine 7.0
  6. How to use CED3D11Hook as a project dependency

    master

    By default, the CED3D11Hook DLL does not export any symbols. Because of this, building the project will not produce a .lib file. If you intend to use this project as a dependency for another Visual C++ project, you have two options:

    1. Export Symbols: Modify the source code in CED3D11Hook.cpp to export specific symbols. This will allow the compiler to generate a standard .lib export library.
    2. Ignore Input Library: If you do not want to export symbols but still want to link against it, set the Ignore Input Library property to Yes in the Linker settings:
      • Open the Property Pages dialog box.
      • Navigate to the Linker folder.
      • Select the General property page.
      • Set Ignore Input Library to Yes.
  7. Build ceserver for Android

    master

    To build ceserver for Android, use the Android NDK (ndk-build).

    1. Ensure the path to your NDK is set in your system environment variables.
    2. Ensure your project structure has a jni directory containing Android.mk and Application.mk inside your executable folder.
    3. Navigate to the executable folder in your command prompt and run ndk-build.
    # Assuming you are in the EXECUTABLE folder containing the jni directory
    ndk-build
  8. How to use CED3D10Hook as a project dependency

    master

    By default, this DLL does not export any symbols, which means building it will not produce a .lib file. If you intend to use this project as a dependency for another project, you must perform one of the following actions:

    1. Export Symbols: Add code to CED3D10Hook.cpp to export specific symbols so that an export library (.lib) is generated.
    2. Ignore Input Library: In your consuming project, navigate to the Linker folder in the Property Pages dialog, go to the General property page, and set Ignore Input Library to Yes.
  9. Configure DXHookBase as a project dependency

    master

    By default, the DXHookBase DLL does not export any symbols, which means building it will not produce a .lib file. If you need to use DXHookBase as a dependency in another project, you have two options:

    1. Export Symbols: Modify the source code (e.g., DXHookBase.cpp) to export specific symbols so that an export library (.lib) is generated during the build process.
    2. Ignore Input Library: If you already have the DLL but lack the .lib file, you can configure your linker to bypass the requirement for an import library. In Visual Studio, go to the Project Property Pages -> Linker folder -> General page and set the Ignore Input Library property to Yes.