Releases: CorrM/cg
v5.0.0-beta4
- 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
- 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
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
toupgrade
- 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 fromCG::MemoryHandler
and export it usingCG_EXPORTS
- eg.:
class CG_EXPORTS Win32MemoryHandler final : public CG::MemoryHandler
- eg.:
- Make your
TargetHandlerPlugin
class that inherited fromCG::TargetHandlerPlugin
and also export it usingCG_EXPORTS
- eg.:
class CG_EXPORTS NativeCpp final : public CG::TargetHandlerPlugin
- eg.:
- In your
dllmain.cpp
or any.cpp
file: include yourplugin.h
file and call the macroCG_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
isTargetHandler
- 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
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
- Can be found in your CheatGear account settings
- 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
v4.0.10
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 returnNone
FName - Change bitfield members type from
unsigned char
tobool
- 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
- 6 functions for
- Improve
UEngine::GetBoneWorldPos
function