Azhan1998 发表于 2024-6-24 10:25

虚幻引擎的一种资产dump方式

本帖最后由 q504860058 于 2024-6-24 14:05 编辑

效果:获取部分美术资产,比如Texture2D
{:301_992:}
最近有机会接触UE相关资产的加解密方向,浅析了一下调用链以及hook时机,供同僚们交流。
开始之前可以先下载UE的源码,了解UE的Texture2D加载流程,最终定位到



FPngImageWrapper::UncompressPNGData(const ERGBFormat InFormat, const int32 InBitDepth)

ERGBFormat结构中的rawData经过dump测试后可以正常显示图片。
https://bbs.kanxue.com/upload/attach/202406/899617_6BMP9J75YCHQYJU.webp
在目标app中定位UncompressPNGData,可以采用字符串大法
https://bbs.kanxue.com/upload/attach/202406/899617_BAGKDQP5PFQ3PK6.webp

可以通过一下两个方法利用frida全程hook并dump jpg文件 UncompressPNGData 、FJpegImageWrapper::UncompressTurbo

如果有需求获取其他格式的资产,可以尝试在其他图片类型的wrapper方法中尝试寻找合适的Uncompress***Data方法(比如imageWrapper)进行hook获取。

本文仅抛出一个思路,并已在本地demo工程测试。
大佬们可以交流一波

qyqy 发表于 2024-6-24 13:00

大佬能不能教教我

尹铭 发表于 2024-6-24 13:22

我都是直接打开UE导出去需要的资产

Azhan1998 发表于 2024-6-24 14:05

尹铭 发表于 2024-6-24 13:22
我都是直接打开UE导出去需要的资产

pak格式做了自定义的加密就不太行了

BaJie123 发表于 2024-6-26 08:53

这个可以试一下

09436yang 发表于 2024-6-26 10:37

收藏下备用

kritoQQs 发表于 2024-7-24 00:23

学习了,大佬

songxinjie 发表于 2024-8-27 03:49

已收藏,感谢大佬

kwl5201314 发表于 2024-8-28 13:58

大佬牛,已收藏
页: [1]
查看完整版本: 虚幻引擎的一种资产dump方式