UEDumper - Unreal Engine Dumper
Logo

License Stars Forks

UEDumper is a all in one Unreal Engine Dumper that supports Unreal Engine 4.19 - Unreal Engine 5.2.0 and a live editor, where you can view the generated SDK at runtime and modify the games' memory. 123

FeaturesGetting StartedYour GameUsageContributingLicenseShowcaseDiscord

Features

Getting Started

This project DOES NOT work out of the box! To support your game, you still have to reverse it on your own to find the information that is stated below.

Please download the latest release and not the master branch as it might contain unstable code!

  1. UE Version
  2.  Offsets or signatures
  3. FName Decryption
  4. Game settings

 

Support for your game

If you found all the information required, you can set them in the files stated below.

UE Version and Game settings

In UEdefinitions.h (Engine/Userdefined/UEdefinitions.h) set the UE_VERSION macro to your UE version. In the file are multiple macros defined for specific internal structs of the engine you have to set too as stated in Getting Started.

Additionally, you can add a custom macro for your game in case your game has specific internal struct changes.

Offsets or signatures

In Offsets.h (Engine/Userdefined/Offsets.h) add all your offsets for your game. Please make sure to read all the comments in the file before wondering why the engine or live editor does not find your offset. When adding an offset, make sure the name parameter is unique, otherwise errors might occur. The offsets GObjects and GNames must have the name OFFSET_GNAMES and OFFSET_GOBJECTS.

Again, you can add a custom macro in UEdefinitions.h for each game for easier switching of the offsets.

FName Decryption

In FName_decryption.h (Engine/Core/FName_decryption.h) you can add your custom decryption function. Make sure the macro USE_FNAME_ENCRYPTION is set to TRUE! The caller function (in Engine/Core/Core.cpp@EngineCore::FNameToString) expects to get the decrypted name in the inputBuf parameter back. Additionally, please check if the engine gets the namePoolChunk/FNameEntry correctly (in Engine/Core/Core.cpp@EngineCore::FNameToString), this might vary from game to game!

Again, you can add a custom macro in UEdefinitions.h for each game for easier switching of the decryption and reading of the entry.

Reading and writing memory

As almost every popular game uses an anticheat, you might have to add your custom read write function for this project. The default implementation is basic ReadProcessMemory / WriteProcessMemory. You can add your routines in driver.h (Memory/driver.h). If possible, don't modify any parameters of the function. If you do, make sure it's compatible with the caller function (in Memory/Memory.cpp@Memory::read and Memory::write). This applies for the getBaseAddress function too.

Modifying the engine

As stated before, some games such as Fortnite or PUBG make manual changes to the engine that i cannot implement by default by toggling a macro. You have to figure that out on your own what structs they changed. However, any manually defined Unnreal Engine class is in UnrealClasses.cpp and UnrealClasses.h (Engine/UEClasses/) and changes should only appear there.

Usage

If you set all information and are ready to dump, there is nothing from stopping you. Though, here is some basic explanation of the tool you might need.

  1. Hello window
  2. Package windows
  3. Live editor
  4. Custom structs, members and data types
  5. Adding custom support in the live editor

 

Contributing

Contribution is always appreciated! I will most likely not add support for Unreal Engine 3 or before, but you can.

Please keep in mind that i will not accept any pull requests that change the entire code base, do not use any caching, arent documented or just messy. 

This project is a very large project but very stable and uses a lot caching for almost everything in order to work properly and fast. However, if you find any better solutions, feel free to create a pull request to implement it.

 

Thank you

This project was made entirely by me and I spent a lot of free time in this project and after all i still released it to the public entirely free. 

Special thanks to Blue Fire for the idea, help and suggestions.

Also special thanks to guttir14 (and all contributers to UnrealDumper-4.25) and CorrM (and all contributers to Unreal-Finder-Tool), I've used their projects as a reference while making this tool.

Remember to only use this for personal use, this has been done entirely for research purposes only and should not be used in any bad way.

 

License

This project is licensed under the terms of the MIT license.

Showcase

Here a video on YouTube showcasing the game Only UP

Join the discord for any questions and help here.