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

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

2025-8-4 20:40
20295

上一篇详细分析了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


详细可以看官方文档:36aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1k6i4k6Q4x3X3g2W2M7r3W2U0k6$3q4E0k6i4y4Q4x3X3g2U0L8$3#2Q4x3V1k6V1L8$3y4#2L8h3g2F1N6r3q4@1K9h3!0F1i4K6u0r3P5X3S2Q4x3X3c8U0L8W2)9J5c8Y4g2F1M7X3g2S2L8q4)9J5k6r3g2F1k6$3W2F1k6g2)9J5c8Y4g2F1M7X3g2S2L8q4)9J5k6r3g2F1k6$3W2F1k6g2)9J5k6o6g2Q4x3X3b7H3i4K6u0V1k6r3!0U0N6h3#2W2L8Y4c8S2N6r3W2G2L8W2)9K6c8X3q4H3M7r3I4A6j5$3q4@1K9h3!0F1i4K6g2X3N6X3g2J5M7$3W2G2L8W2)9K6c8o6g2Q4x3X3f1H3

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

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

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


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


冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。

收藏
点赞 170
打赏
分享
最新回复 (125)
雪    币: 1688
活跃值: (2335)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
6666666666
2025-8-4 22:29
0
雪    币: 188
活跃值: (2156)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
Thanks for share!
2025-8-5 16:20
0
雪    币: 112
活跃值: (9420)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
666
2025-8-5 16:29
0
雪    币: 11198
活跃值: (6917)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
6666666666
2025-8-5 18:20
0
雪    币: 716
活跃值: (3787)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
你的分享对大家帮助很大,非常感谢!
2025-8-6 00:40
0
雪    币: 477
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
你的分享对大家帮助很大,非常感谢!
2025-8-6 12:30
0
雪    币: 97
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
UObjectBaseInit
2025-8-6 13:15
0
雪    币: 27
活跃值: (392)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
666666666
2025-8-6 23:47
0
雪    币: 0
活跃值: (325)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10

你的分享对大家帮助很大,非常感谢!
2025-8-10 23:51
0
雪    币: 201
活跃值: (296)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
666666666
2025-8-11 14:18
0
雪    币: 200
活跃值: (101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
6666
2025-8-13 09:55
0
雪    币: 1210
活跃值: (2097)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
感谢分享
2025-8-14 01:16
0
雪    币: 2652
活跃值: (8806)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
感谢分享
2025-8-14 08:27
0
雪    币: 854
活跃值: (961)
能力值: ( 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
雪    币: 2715
活跃值: (1405)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
18
看看
2025-8-20 11:40
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
mark
2025-8-22 13:36
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
66666666
2025-8-23 17:57
0
雪    币: 206
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21
66666666
2025-8-23 23:02
0
雪    币: 292
活跃值: (1707)
能力值: ( LV3,RANK:29 )
在线值:
发帖
回帖
粉丝
22
1
2025-8-24 16:10
0
雪    币: 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
游客
登录 | 注册 方可回帖
返回