MCPcopy Index your code
hub / github.com/Encryqed/Dumper-7

github.com/Encryqed/Dumper-7 @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,595 symbols 3,547 edges 62 files 273 documented · 17%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Dumper-7

SDK Generator for all Unreal Engine games. Supported versions are all of UE4 and UE5.

How to use

  • Compile the dll in x64-Release
  • Inject the dll into your target game
  • The SDK is generated into the path specified by Settings::SDKGenerationPath, by default this is C:\\Dumper-7
  • See UsingTheSDK for a guide to get started, or to migrate from an old SDK.

Support Me

KoFi: https://ko-fi.com/fischsalat \ Patreon: https://www.patreon.com/u119629245

LTC (LTC-network): LLtXWxDbc5H9d96VJF36ZpwVX6DkYGpTJU \ BTC (Bitcoin): 1DVDUMcotWzEG1tyd1FffyrYeu4YEh7spx \ USDT (Tron (TRC20)): TWHDoUr2H52Gb2WYdZe7z1Ct316gMg64ps

Overriding Offsets

  • Only override any offsets if the generator doesn't find them, or if they are incorrect

  • All overrides are made in Generator::InitEngineCore() inside of Generator.cpp

  • GObjects (see GObjects-Layout too) cpp ObjectArray::Init(/*GObjectsOffset*/, /*ChunkSize*/, /*bIsChunked*/); cpp /* Make sure only to use types which exist in the sdk (eg. uint8, uint64) */ InitObjectArrayDecryption([](void* ObjPtr) -> uint8* { return reinterpret_cast<uint8*>(uint64(ObjPtr) ^ 0x8375); });

  • FName::AppendString
  • Forcing GNames: cpp FName::Init(/*bForceGNames*/); // Useful if the AppendString offset is wrong
  • Overriding the offset: cpp FName::Init(/*OverrideOffset, OverrideType=[AppendString, ToString, GNames], bIsNamePool*/);
  • ProcessEvent cpp Off::InSDK::InitPE(/*PEIndex*/);

Overriding GObjects-Layout

  • Only add a new layout if GObjects isn't automatically found for your game.
  • Layout overrides are at roughly line 30 of ObjectArray.cpp
  • For UE4.11 to UE4.20 add the layout to FFixedUObjectArrayLayouts
  • For UE4.21 and higher add the layout to FChunkedFixedUObjectArrayLayouts
  • Examples: cpp FFixedUObjectArrayLayout // Default UE4.11 - UE4.20 { .ObjectsOffset = 0x0, .MaxObjectsOffset = 0x8, .NumObjectsOffset = 0xC } cpp FChunkedFixedUObjectArrayLayout // Default UE4.21 and above { .ObjectsOffset = 0x00, .MaxElementsOffset = 0x10, .NumElementsOffset = 0x14, .MaxChunksOffset = 0x18, .NumChunksOffset = 0x1C, }

Config File

You can optionally dynamically change settings through a Dumper-7.ini file, instead of modifying Settings.h. - Per-game: Create Dumper-7.ini in the same directory as the game's exe file. - Global: Create Dumper-7.ini under C:\Dumper-7. - Profiles do not merge. In other words your global profile does not change the default settings.

  • SleepTimeout:
  • If non-zero dump will start after a delay
  • Values under 1000 assumed to be in seconds, otherwise in milliseconds
  • If both SleepTimeout and DumpKey are set whichever occurs first will trigger the dump
  • DumpKey:
  • If non-zero dump will start upon key press
  • Value should be a hex or decimal integer corresponding to a virtual keycode.
  • Hex integers should start with 0x.
  • SDKNamespaceName:
  • Changes the namespace in the generated files.
  • SDKGenerationPath:
  • Generate output at the specified path instead of C:/Dumper-7.
  • Paths are relative to game executable unless you use an absolute path including drive letter.
  • Use .. to access parent directories. Do not include quotes.

Example:

[Settings]
SleepTimeout=30
SDKNamespaceName=MyOwnSDKNamespace
DumpKey=0x77
SDKGenerationPath=./
  • These settings would generate the SDK in the same folder as the game and would start after 30 seconds or upon pressing F8.

Issues

If you have any issues using the Dumper, please create an Issue on this repository\ and explain the problem in detail.

  • Should your game be crashing while dumping, attach Visual Studios' debugger to the game and inject the Dumper-7.dll in debug-configuration. Then include screenshots of the exception causing the crash, a screenshot of the callstack, as well as the console output.

  • For compiler-errors in the SDK (first verify you followed all of the steps from UsingTheSDK correctly):

  • Send screenshots of the errors in the error-window, make sure to select Build Only, not Build + Intellisense, as Intellisense often reports false positives.
  • Also send a screenshot of the first error in the Output-window (NOT the error-window) and one of the code location causing that exact error.
  • If you're able to fix the error (eg. missing padding in predefined struct, or incorrect use of macro name) please still report it in an issue with the fix included.
  • If you're not able to resolve the issue yourself please upload the entire generated folder (not just CppSDK) somewhere and attach the link to your issue.

  • Should your own dll-project crash, verify your code thoroughly to make sure the error actually lies within the generated SDK.

Core symbols most depended-on inside this repo

create
called by 182
Dumper/Utils/Json/json.hpp
size
called by 170
Dumper/Utils/Json/json.hpp
concat
called by 140
Dumper/Utils/Json/json.hpp
write_character
called by 131
Dumper/Utils/Json/json.hpp
GetAddress
called by 130
Dumper/Engine/Private/Unreal/NameArray.cpp
end
called by 89
Dumper/Utils/Json/json.hpp
empty
called by 84
Dumper/Utils/Json/json.hpp
IsA
called by 81
Dumper/Engine/Private/Unreal/UnrealObjects.cpp

Shape

Method 950
Class 332
Function 290
Enum 23

Languages

C++100%

Modules by API surface

Dumper/Utils/Json/json.hpp586 symbols
Dumper/Engine/Public/Unreal/UnrealContainers.h118 symbols
Dumper/Engine/Private/Unreal/UnrealObjects.cpp88 symbols
Dumper/Utils/Encoding/UtfN.hpp72 symbols
Dumper/Engine/Private/OffsetFinder/OffsetFinder.cpp48 symbols
Dumper/Generator/Private/Wrappers/MemberWrappers.cpp44 symbols
Dumper/Platform/Private/PlatformWindows.cpp41 symbols
Dumper/Generator/Private/Generators/CppGenerator.cpp37 symbols
Dumper/Engine/Public/Unreal/UnrealObjects.h37 symbols
Dumper/Generator/Public/HashStringTable.h36 symbols
Dumper/Generator/Public/Managers/MemberManager.h33 symbols
Dumper/Generator/Private/Managers/PackageManager.cpp32 symbols

For agents

$ claude mcp add Dumper-7 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact