首页
社区
课程
招聘
[原创]unreal engine逆向学习之dump工具使用(三)
发表于: 2025-8-4 20:40 4120

[原创]unreal engine逆向学习之dump工具使用(三)

2025-8-4 20:40
4120

上一篇详细分析了FName,手写GetName算法和FName dump,鉴于文章篇幅和避免重复造开源的轮子,此篇选择讲解开源工具的使用。


GUObjectArray是用于管理全局UObject对象数组FUObjectArray,它被定义在UObjectHash.cpp中。它用于收集所有的UObject对象。


GUObjectArray是全局对象数组FUObjectArray,用于收集所有的UObject对象。

FUObjectItem这是一个对象在全局列表中的单元存储方式,Item包含Object的相关信息。


GetObjectPtr算法

源码在UObjectBaseInit初始化函数中

使用UObjectBaseInit字符串定位





U/FProperty: 表示 C++ 中的属性,即类或结构体的成员变量。
UEnum: 表示 C++ 中的枚举,内部保存了一个 TMap,维护了 Name、Value、Index 三大信息的对应关系。
UStruct: 表示 C++ 中的复杂类型,包含函数、类、结构体三种。内部维护了所表示类型的所有 UProperty。
UFunction: 表示 C++ 中的函数,内部维护了函数指针、栈帧、参数返回值信息,还提供了反射执行所表示函数的方法。
UClass:表示 C++ 中的类,在 UStruct 的基础上扩展了 UFunction 的保存与查找方法。
UScriptStruct: 表示 C++ 中的结构体,只是在 UStruct 的基础上增加了一些工具方法而已。





在创建类时,会生成大量属性,包括蓝图类。有些类型将可能有几十万多个UProperty,因为所有的UProperty继承自UObject,因此会产生各种各样的开销。这一特性对整个引擎影响及其广泛,包括额外的内存空间,UProperty构建/销毁成本,垃圾回收性能。


从4.2x开始,此UProperty已完全更改为FProperty。 前缀“F”说明其不再继承UObject。UProperty类的定义仍然存在,但它只用于在将早期版本中创建的资源转换为FProperty做一次。

UProperty变成了FProperty


详细可以看官方文档:https://dev.epicgames.com/documentation/zh-cn/unreal-engine/unreal-engine-5-0-documentation?application_version=5.0

因为是主流引擎ue dump工具很多,下面介绍俩个开源项目,第一个代码量比较少方便学习和二次魔改。第二个通过特征和遍历反射结构来自动修复特征

518K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6Y4N6i4c8@1K9i4t1I4y4q4)9J5c8W2g2F1M7X3g2S2L8p5c8#2L8i4m8W2M7W2)9J5k6o6c8Q4x3X3f1J5y4b7`.`.

672K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6q4L8X3y4J5P5i4q4W2k6q4)9J5c8V1c8#2L8i4m8W2M7W2)9J5k6o6M7`.


第一个在engine.cpp找到games填写游戏名称和对应engines即可


[培训]传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 72
支持
分享
最新回复 (51)
雪    币: 605
活跃值: (1010)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
6666666666
2025-8-4 22:29
0
雪    币: 188
活跃值: (1531)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
Thanks for share!
2025-8-5 16:20
0
雪    币: 104
活跃值: (6838)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
666
2025-8-5 16:29
0
雪    币: 9626
活跃值: (5337)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
6666666666
2025-8-5 18:20
0
雪    币: 740
活跃值: (2252)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
你的分享对大家帮助很大,非常感谢!
2025-8-6 00:40
0
雪    币: 477
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
你的分享对大家帮助很大,非常感谢!
2025-8-6 12:30
0
雪    币: 80
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
UObjectBaseInit
2025-8-6 13:15
0
雪    币: 0
活跃值: (256)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
666666666
2025-8-6 23:47
0
雪    币: 0
活跃值: (165)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10

你的分享对大家帮助很大,非常感谢!
2025-8-10 23:51
0
雪    币: 201
活跃值: (266)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
666666666
2025-8-11 14:18
0
雪    币: 200
活跃值: (71)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
6666
2025-8-13 09:55
0
雪    币: 1232
活跃值: (1817)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
感谢分享
2025-8-14 01:16
0
雪    币: 2472
活跃值: (7025)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
感谢分享
2025-8-14 08:27
0
雪    币: 766
活跃值: (801)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
2025-8-15 10:54
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
收藏学习
2025-8-16 16:13
0
雪    币: 11
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
66666666
2025-8-16 18:06
0
雪    币: 26
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
18
看看
2025-8-20 11:40
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
mark
2025-8-22 13:36
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
66666666
2025-8-23 17:57
0
雪    币: 208
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21
66666666
2025-8-23 23:02
0
雪    币: 292
活跃值: (1332)
能力值: ( LV3,RANK:29 )
在线值:
发帖
回帖
粉丝
22
1
2025-8-24 16:10
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
23
mark
2025-8-26 15:07
0
雪    币: 4
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24
666666
2025-8-31 02:27
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
NVH
25
6666
2025-9-1 17:42
0
游客
登录 | 注册 方可回帖
返回