Skip to content

Releases: CorrM/cg

v5.0.0-beta4

31 Jul 03:27
a5a02ee
Compare
Choose a tag to compare
v5.0.0-beta4 Pre-release
Pre-release
  • Fix: Some games have objects with more than 10 Supers
  • Fix: Some games have empty(null) FUObjectItem's at first of the chunk that casing a bug on UnrealObjectsReader
  • Fix: Some UE3 bugs
  • Fix: Some memory allocation problems

v5.0.0-beta3

11 Jul 18:30
a5a02ee
Compare
Choose a tag to compare
v5.0.0-beta3 Pre-release
Pre-release
  • Add: json output. (--output json)
  • Improve: GObjects reader performance, faster now.
  • Improve: UnrealConfig reader.
  • Improve: FName config struct fixer. (CG will detect size of FName automatically)
  • Fix: ReturnValue parameter for UE functions are not printed.
  • Fix: Unreal classes/structs have wrong name prefix.
  • Fix: Unreal names Stride wrong value for some games.
  • Fix: Plugin are disabled.

Note

dump command moved to be a sub-command for instance command

unreal instance dump

v5.0.0-beta2

01 Jun 13:25
a5a02ee
Compare
Choose a tag to compare
v5.0.0-beta2 Pre-release
Pre-release

What new

  • CheatGear SDK for cpp language. (more info below)
  • Add unreal instances manager
  • Improve virtual function search (ProcessEvent, PostRender and etc.)
  • Really big performance improves for plugin system
  • Add two options for all commands that deal with process memory
    • "-m", "--plugin" to provide a target handler plugin id to be used. (default: Native)
    • "-x", "--suspend" to chose if you want CheatGear to suspend the target. (default: true)
  • Fixed bad chars in unreal Enums
  • Fixed some performance issues

Plugin command

Plugin manager. For now it only has a list command to list all plugins and grab basic info about them

Instance command

Unreal instances manager now only has a find sub-command

// Search by instance name
unreal instance find "World" -p PROCESS_ID -v UNREAL_VER -n GNAMES_ADD -o GOBJECTS_ADD -c CONFIG_NAME

// Search by instance address 
unreal instance find 0x123456789 -p PROCESS_ID -v UNREAL_VER -n GNAMES_ADD -o GOBJECTS_ADD -c CONFIG_NAME

What changed

  • Renamed "CG.Framework" to "CG.SDK.Dotnet"
  • Some commands arguments and options changes (listed below)

Config command

  • Rename sub-command update to upgrade
  • Implemented list command
  • Fixed bug in migration system (upgrade command)

Sdkgen and Sdkcnv command

Merge sdkgen, sdkcnv commands in one command sdk which requires an argument generate or convert

- unreal sdkgen -p PID -v UNREAL_VER -n GNAMES_ADD ... // Old
+ unreal sdk generate -p PID -v UNREAL_VER -n GNAMES_ADD ... // New

- unreal sdkcnv -f "FULL_PATH_TO_CGS_FILE" -p UnrealCpp -t internal // Old
+ unreal sdk convert -f "FULL_PATH_TO_CGS_FILE" -p UnrealCpp -t internal // New

Search command

Converted -s option to two sub-commands names and objects

- unreal search -p PID -v UNREAL_VER -s names -l SEARCH_LVL -c CONFIG_NAME // Old
+ unreal search names  -p PID -v UNREAL_VER -l SEARCH_LVL -c CONFIG_NAME // New

- unreal search -p PID -v UNREAL_VER -s objects -l SEARCH_LVL -c CONFIG_NAME // Old
+ unreal search objects -p PID -v UNREAL_VER -l SEARCH_LVL -c CONFIG_NAME // New

CheatGear SDK

CheatGear now has a Dotnet and a Cpp SDK to interact with- and help CheatGear.
CheatGear SDK provides a simple way to interact and extend CheatGear's operations to fit your needs,
by providing some plugin type:

  • TargetHandler (perviously known as MemoryHandler) provides an interface to customize how CheatGear handles target information gathering, reading memory, writing memory and other memory information
  • OutputSupport provides an interface to add more output syntax for generated SDK(game sdk) like C-Sharp support, or even python sdk output (please for the love of god don't make a python sdk!).

SDK's locations: [CheatGear]\SDK

Dotnet SDK

Was known as CG.Framework but, to remove conflicts, now it's called CG.SDK.Dotnet

Cpp SDK

Most wanted feature since CheatGear's plugins system was released. Now you can make plugins with your favorite programming language C++.

How to start (TargetHandler plugin)

  • Add include folder from [CheatGear]\SDK\Cpp to your C++ project includes
  • Make your MemoryHandler class that inherited from CG::MemoryHandler and export it using CG_EXPORTS
    • eg.: class CG_EXPORTS Win32MemoryHandler final : public CG::MemoryHandler
  • Make your TargetHandlerPlugin class that inherited from CG::TargetHandlerPlugin and also export it using CG_EXPORTS
    • eg.: class CG_EXPORTS NativeCpp final : public CG::TargetHandlerPlugin
  • In your dllmain.cpp or any .cpp file: include your plugin.h file and call the macro CG_REGISTER_PLUGIN with your plugin information
#include "NativeCpp.h"

CG_REGISTER_PLUGIN(
    NativeCpp, // Your plugin class name
    CG::PluginKind::TargetHandler,
    "NativeCpp",
    "5.0.0",
    "CorrM",
    "Use current system API to read/write memory process",
    "",
    "");

Example

Here is an example of making TargetHandler plugin using CheatGear Cpp SDK.

Notes:

  • For now the only plugin type supported by Cpp SDK is TargetHandler
  • More documentation is coming in the full release
  • The code itself is documented so if you find anything confusing, checkout the SDK code

v5.0.0-beta1

09 May 08:19
a5a02ee
Compare
Choose a tag to compare
v5.0.0-beta1 Pre-release
Pre-release

Beta

Publishing this beta version has only one purpose: testing functionality.
That also means there may be some bugs, please report them on discord.
CheatGear v4 will remain working as usual.

State

  • CheatGear was 100% rewritten to run faster and support more features
  • This beta will only include a Command LIne Interface (CLI) version of CheatGear. A GUI will be part of the full release.
  • Will not provide a setup for beta versions. (no installation, portable)
  • For now only UnrealEngine is supported, more will follow later.

Why CLI

  • To make it easy to inject CheatGear in you pipeline.
  • AUTOMATION ✨

What's new

  • Memory/Performance optimization.
  • More modularity.
  • Plugin improvements. (Still Work In Progress, more info in coming updates)

How to start

  • First get your API key and put it in Settings.json
  • Open terminal as Administrator and change the current directory(cd) to CheatGear directory.
  • You can found all commands and description of them by -h flag(.\CheatGear.CLI.exe -h)
    • Most of commands has sub-commands, arguments or options.

Config command

You must update your configs before using them.
You can simply run the command CheatGear.CLI unreal config update and it will update all configs for you.

Configs location are: Resources\Engines\Unreal\Configs

Unreal command

The Unreal command provides the same features as CheatGear v4. (Instance finder will be added back later.)
You can get all information about every sub-command by appending the -h flag (eg: CheatGear.CLI.exe unreal search -h).

Here is some usage example:

// Search for GNames address in **process 34180**, **Engine version 4**, **level 1** algorithm and **config 4.26**
// Note: some times level 1 algorithm will not work, consider using next level of algorithm
unreal search -p 34180 -v unreal4 -s names -l 1 -c 4.26

// Search for GObjects address in **process 34180**, **Engine version 4**, **level 1** algorithm and **config 4.26**
unreal search -p 34180 -v unreal4 -s objects -l 1 -c 4.26

// Dump objects and names in **process 34180**, **Engine version 4**,
// **GNames (0x7FF65F589ED0)**, **GObjects (0x7FF65F5A2468)**  and **config 4.26**, **GameName SNM** and **GameVersion  1.5.6**
unreal dump -p 34180 -v unreal4 -n 0x7FF65F589ED0 -o 0x7FF65F5A2468 -c 4.26 -gn SNM -gv 1.5.6

// Generate SDK within **process 34180**, **Engine version 4**,
// **GNames (0x7FF65F589ED0)**, **GObjects (0x7FF65F5A246 )**  and **config 4.26**, **GameName SNM** and **GameVersion  1.5.6**
unreal sdkgen -p 34180 -v unreal4 -n 0x7FF65F589ED0 -o 0x7FF65F5A2468 -c 4.26 -gn SNM -gv 1.5.6

// Convert SDK file using **plugin UnrealCpp** and **Syntax type internal**
// Note: CGS file are found "**Result**" folder next to CheatGear after `sdkgen` command successfully works
unreal sdkcnv -f "FULL_PATH_TO_CGS_FILE" -p UnrealCpp -t internal

v4.0.11

16 Dec 16:26
663fa73
Compare
Choose a tag to compare

Output.UnrealCpp

  • Fix some printing bugs
  • SDK now are more Plug-n-Play

v4.0.10

10 Dec 15:59
663fa73
Compare
Choose a tag to compare

CheatGear

  • Upgrade to .NET 7 that have huge performance impact

Framework

  • Improve MemoryPlugin
  • Version 3.1.0

Unreal Engine

  • Fix TMap read bug. wrong memory align case read wrong data
  • Fix FName bug that always return None FName
  • Change bitfield members type from unsigned char to bool
  • Improve sdk generated for UE5
  • CoreUObject structs like FVector, FRotator, etc have correct float point type for predefined functions (float -> double)
  • Add defines for Global package that will contains all defines sdk needs
    • PROCESS_EVENTS_INDEX
    • CREATE_DEFAULT_OBJECT_INDEX
    • POST_RENDER_INDEX
    • GET_BONE_MATRIX_OFFSET (WIP)
    • GET_VIEW_POINT_INDEX (BETA)
    • GET_PLAYER_VIEW_POINT_OFFSET (WIP)
  • Add some useful functions to CoreUObject:
    • 6 functions for FVector2D
    • 5 functions for FVector2D
    • 7 functions for FRotator
  • Improve UEngine::GetBoneWorldPos function

v4.0.9

01 Dec 06:11
Compare
Choose a tag to compare

Plugins

  • Memory plugin can now add its behavior for IsStaticAddress

Unreal

  • Fix some rare bugs

Unity

  • Fix bug on Unity dumper when testing class names

v4.0.8

12 Sep 20:03
Compare
Choose a tag to compare

Unreal

  • Fix GNamesFinder
  • Fix GNamesValidator
  • General improves

v4.0.7

24 Aug 07:35
Compare
Choose a tag to compare

Unreal

  • General fixes for UE3
  • Fix bug on memory reader

v4.0.6

12 Aug 19:01
Compare
Choose a tag to compare

Unreal

  • Add GNames.Strider fixer
  • Fix Take it ez model that will suspend the process anyway
  • Fix field names that removes _
  • Fix wrong offset calculation for NamesStore