MJx0/AndUEDumper
GitHub: MJx0/AndUEDumper
Android平台Unreal Engine游戏的内存Dump和SDK生成工具。
Stars: 372 | Forks: 164
# Android Unreal Engine Dumper / UE Dumper
为 Android 平台上的 Unreal Engine 游戏生成 SDK 和函数脚本。
该 Dumper 基于 [UE4Dumper-4.25](https://github.com/guttir14/UnrealDumper-4.25) 项目。
## 功能特性
* 支持 ABI ARM64、ARM、x86 和 x86_64
* 可编译为外部使用的可执行文件或内部使用的库
* Dump UE 偏移量、类、结构体、枚举和函数
* 生成函数名 JSON 脚本,用于 IDA 和 Ghidra 等工具
* 通过符号和特征扫描自动查找 GUObjectArray、GNames 和 NamePoolData 地址
* 在数据段中查找 GEngine 和 GWorld
* 查找 ProcessEvent 索引和偏移量(目前仅支持 64 位)
* 从内存中 Dump UE 库
## 当前支持的游戏
* Arena Breakout
* Ark Ultimate
* Auroria
* Black Clover M
* Blade Soul Revolution
* Case 2 Animatronics
* Century Age of Ashes
* Delta Force
* Dislyte
* Farlight 84
* Hello Neighbor
* Hello Neighbor Nicky's Diaries
* Injustice 2
* King Arthur Legends Rise
* Lineage 2 Revolution
* Lineage W
* Mortal Kombat
* Night Crows
* Odin Valhalla Rising
* PUBG
* RL Sideswipe
* Real Boxing 2
* Rooftops Parkour Pro
* Special Forces Group 2
* The Baby In Yellow
* Torchlight: Infinite
* Tower Of Fantasy
* Wuthering Waves
* eFootball (PES)
## 库用法
只需使用任意方法加载或注入库,然后让其执行即可。
运行带有 Tag 过滤器 "UEDump3r" 的 logcat 以查看 Dump 日志。
Dump 输出将位于游戏的外部数据文件夹 (/sdcard/Android/data/< game >/files) 中,以避免外部存储权限问题。
## 可执行文件用法
你需要将 Dumper 推送到可执行目录(如 /data/local/tmp),然后赋予其执行权限。建议使用 adb,你可以查看 [push](AndUEDumper/push.bat) 脚本了解此操作。
使用兼容的 Dumper,如果游戏是 64 位,请使用 arm64 或 x86_64;如果是 32 位,请使用 arm 或 x86 版本。
```
Usage: ./UEDump3r [-h] [-o] [ options ]
Required arguments:
-o, --output specify output directory path.
Optional arguments:
-h, --help show available arguments
-p, --package specify game package ID in advance.
-d, --dumplib dump UE library from memory.
```
## 输出文件
### AIOHeader.hpp
* 多合一 Dump 文件头
### Offsets.hpp
* 包含 UE 偏移量的头文件
### Logs.txt
* 包含 Dump 过程日志的日志文件
### Objects.txt
* ObjObjects Dump
### script.json
* 如果你熟悉 Il2cppDumper 的 script.json,这个与之类似。它包含一个由函数名和地址组成的 JSON 数组
## 向 Dumper 添加新游戏
遵循 [GameProfiles](AndUEDumper/src/UE/UEGameProfiles) 中的原型。
你也可以使用提供的特征(patterns)来查找 GUObjectArray、GNames 或 NamePoolData。
## 构建
你的操作系统上需要安装 'make',并设置 NDK_HOME 环境变量。
```
git clone --recursive https://github.com/MJx0/AndUEDumper
cd AndUEDumper/AndUEDumper
make clean && make
```
## 待办事项
* 对生成的包进行排序并解决依赖关系
* [Dumper-7](https://github.com/Encryqed/Dumper-7) 自动查找偏移量
## 致谢与感谢
* [UE4Dumper-4.25](https://github.com/guttir14/UnrealDumper-4.25)
* [Il2cppDumper](https://github.com/Perfare/Il2CppDumper)
* [Dumper-7](https://github.com/Encryqed/Dumper-7)
* [UEDumper](https://github.com/Spuckwaffel/UEDumper)
标签:Android, ARM64, C++, DNS 反向解析, DSL, Ghidra, IDA, JARM, Ruby on Rails, SDK生成, UE4, UE5, UML, 云资产清单, 偏移量转储, 内存分析, 内存转储, 数据擦除, 模式扫描, 游戏作弊, 游戏安全, 符号扫描, 虚幻引擎, 逆向工程