explaingit

dreamfekk/andriod_unrealmemorytools

Analysis updated 2026-05-18

37CAudience · researcherComplexity · 5/5Setup · hard

TLDR

An Android tool that reads a running Unreal Engine game's memory and extracts its class and struct layout as C++ header files, for research and reverse engineering.

Mindmap

mindmap
  root((UnrealMemoryTools))
    What it does
      Reads UE game memory
      Extracts class and struct layouts
    Workflow
      Probe step
      Dump step
    Features
      Dedicated game profiles
      AutoFix generic fallback
      Vulkan ImGui overlay
    Tech stack
      C plus plus
      Android NDK
      Vulkan
      KittyMemoryEx
    Audience
      Reverse engineers
      Security researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study how an Unreal Engine game's internal object and class structures are laid out in memory.

USE CASE 2

Generate C++ header files describing a game's classes and structs for reverse engineering tools like IDA or Ghidra.

USE CASE 3

Learn how a memory-reading tool locates engine internals when a game's version changes.

What is it built with?

C++Android NDKVulkanImGui

How does it compare?

dreamfekk/andriod_unrealmemorytoolsunclecheng-li/poc-labhomemadegarbage/selfrisingrobot
Stars373738
LanguageCCC
Setup difficultyhardhardhard
Complexity5/54/54/5
Audienceresearcherresearcherresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires a rooted Android device, the Android NDK, CMake, and Ninja, use is restricted to personal research per the README.

In plain English

UnrealMemoryTools is an Android tool for reading and extracting data from Unreal Engine games. It runs as an external process, meaning it does not inject code into the target game. Instead, it reads the game's memory by accessing the process's memory map through standard Linux file interfaces. Root access or equivalent is required because reading another process's memory is a privileged operation on Android. The interface is an overlay window built with Vulkan and ImGui that sits on top of the device screen. The workflow has two steps. First, you select a process from a list of running apps that have the Unreal Engine library loaded. Clicking Start Probe causes the tool to locate the engine's core data structures, including the object array and naming pool, and run an automatic offset resolution pass. Each resolved structure appears in color-coded tabs showing field names, types, offsets, and status. Second, once the probe succeeds, clicking Start Dump writes a set of SDK header files to the device storage. The output includes a full object list with names and memory addresses, a header with key engine pointers relative to the Unreal Engine library base, and generated code files for all enums, structs, and classes found in the game. A separate member-offset header follows the style of the Dumper-7 project. There is also an optional button to dump the Unreal Engine shared library itself from process memory. The tool ships with hardcoded profiles for several known games. For other games, or for games that have been updated since a profile was written, it falls back automatically to a generic search routine that locates the relevant data structures by pattern scanning. When a fallback occurs, the interface displays a notice. The UI supports both Chinese and English, switchable at any time during a session.

Copy-paste prompts

Prompt 1
Explain the difference between the Probe and Dump steps in DreamFekk/Andriod_UnrealMemoryTools.
Prompt 2
Walk me through building UnrealMemoryTools with the Android NDK, CMake, and Ninja.
Prompt 3
Describe how the AutoFix fallback locates GNames and GUObjectArray when a dedicated game profile fails.

Frequently asked questions

What is andriod_unrealmemorytools?

An Android tool that reads a running Unreal Engine game's memory and extracts its class and struct layout as C++ header files, for research and reverse engineering.

What language is andriod_unrealmemorytools written in?

Mainly C. The stack also includes C++, Android NDK, Vulkan.

How hard is andriod_unrealmemorytools to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is andriod_unrealmemorytools for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.