Version 1.0
- Three dump file formats: .hpp (C/C++ header), .ct (Cheat Engine Table), .rcnet (ReClass.NET)
- .hpp header file is easily included in your project, so you can use offsets. Also, it has comments showing modules and base objects of signatures and netvars respectively.
- .ct Cheat Engine Table shows the Local Player and Entity List. At the bottom, all signatures and netvars are organized in a nice format.
- .rcnet ReClass.NET: All netvar tables are organized as classes.
Externally scan a process for signatures and dump the relative offsets to a header file which is easy to incorporate into your Visual Studio project. When an update is released for a game, you run the dumper to get the latest offsets.
The Releases section of GitHub contains GH offset dumper executables and dump files for CS:GO.
Scrubs don't know how to pattern scan so they manually update their offsets in their game hacks after running an offset dumper like this.
- Put config.json in the same folder as the dumper.
- Run the game.
- If the game uses the source engine you should run GH-Offset-Dumper-64.exe if the game is 64 bits, or GH-Offset-Dumper-32.exe if the game is 32 bits, otherwise netvars will not be dumped. If the game does not use the source engine, you can use either one.
- Include the generated .hpp file in your project.
To use the dumper as a library in your project, you need GHDumper.h and json.hpp.
#include <fstream>
#include "json.hpp"
#include "GHDumper.h"
int main()
{
// load json
std::ifstream file("config.json");
auto config = nlohmann::json::parse(file);
// dump as std::unordered_map<std::string, ptrdiff_t>
auto signatures = gh::DumpSignatures(config);
auto netvars = gh::DumpNetvars(config, signatures);
// format files as std::string
auto hpp = gh::FormatHeader(config, signatures, netvars);
auto ct = gh::FormatCheatEngine(config, signatures, netvars);
auto xml = gh::FormatReclass(config, netvars);
// save files or do whatever
// ...
}
This dumper was inspired by hazedumper so thank you to frk1, rN' and the other contributors to that project.
I started learning Rust when messing with HazeDumper and I decided we needed a C++ version, I also wanted to extend the functionality.
GH Dumper will do the same thing as HazeDumper with the addition of dumping ReClass files and Cheat Engine Tables.
Our dumper uses the same json config file format, so they are interchangeable.
- The main code is
GHDumper.h
(the dumper library) andmain.cpp
(uses the dumper library). json.hpp
is a dependency ofGHDumper.h
.zip.h
,zip.c
andminiz.h
are dependencies ofmain.cpp
. They are used to make a ZIP file when creating.rcnet
.- If any value is missing from the output header file, it is possible the signature is outdated and thus the pattern scan returned 0.
- In CS:GO, joining a match may cause the dumper to fail. Restarting CS:GO should solve it.
- Make an internal version
- Add CSS functionality
- Other ideas to make it kewl
Thank you to frk1, rN' and the contributors to hazedumper
Thank you to nlohmann and the contributors of json.hpp
- The Game Hacking Bible - a massive 70 chapter Game Hacking Course
- Computer Science 420 - an eight chapter lecture on CS, Data Types & Assembly
- Binary Exploit Development - a 9 chapter series on exploit dev from a certified OSED
- Game Hacking Shenanigans - a twenty lesson Cheat Engine hacking course
- Python Game Hacking Course - 7 chapter external & internal python hack lesson
- Python App Reverse Engineering - Learn to reverse python apps in 5 lessons
- Web Browser Game Hacking - Hack javascript games with this 4 chapter course
- Roblox Exploiting Course - 7 Premium Lessons on Hacking Roblox
- Java Reverse Engineering Course - 5 chapter beginner guide
- Java Game Hacking Course - 6 Chapter Beginner Guide