当前位置: 首页 > news >正文

2025虚幻游戏逆向工程解包尝试

2025虚幻游戏逆向工程解包

前言

在2025游戏模型提取攻略写了,但是想要找的时候又忘了在哪篇文章中写的,所以干脆专门写一下。中间有许多坑。

一坑接一坑。

先说结论:用Umodel(UV Viewer)查看和导出模型。FModel虽然也许,但是部署麻烦,目前还在报错中。

内容

参考这篇文章:

Unreal Engine 5 逆向工程与游戏开发 - 黑神话悟空

1获取黑神话悟空的解包密码 AES:在游戏启动exe目录的key.txt文本中

2从游戏目录中获取Mappings.usmap文件:

使用 DLL_injector 工具: 通过 DLL 注入工具获取游戏内存中的 Mappings.usmap 文件。在github下载或者第三方网站下载:DLL 注入器信息 - WeAreDevs

导入 UE Mapping Dumper:这是一个将为 UE 生成映射文件的项目,几乎所有未来的 UE5 游戏都是必需的,以便从游戏文件中读取数据。去 Githubopen in new window 上下载。或者第三方网站:项目首页 - UnrealMappingsDumper:A dumper that generates mappings (.usmap) files for datamining Unreal Engine games. - GitCode

运行游戏:运行游戏后,打开 DLL injector,加载 UE Mapping Dumper并等待 Mappings.usmap 文件生成。

3导出文件到 FModel FModel是一个强大的工具,可以帮助我们对 UE4/5 的资源文件进行逆向分析。

解包工具:

FModel: https://github.com/4sval/FModel/releasesopen in new window

UE Viewer: https://www.gildor.org/en/projects/umodel

4使用三维软件制作资产

5使用 UE5 引擎替换和打包资产

看起来很简单,但是每一步都有坑。

AES Key

方法一:在游戏目录运行AES_finder.exe。注意不要下载源文件。

方法二:直接搜索想要逆向工程的AES Key

推荐用方法二,不用下载工具,因为下载的AES_finder.exe也不能保障一定能解出AES Key

说可以用AES_finder工具获取。但是没有具体说怎么获取的。然后我就发现直接找文件夹没找到这个key.txt。

AES_finder:我通过这篇文章aes-finder实用工具资源下载说明:实时监控内存,高效查找AES密钥-CSDN博客找到了这个下载地方GitCode - 全球开发者的开源社区,开源代码托管平台,但是这个是要用Visual Studio 2013打开aes-finder.sln解决方案进行编译。而不是像EXE文件一样

[UE] FModel 资源解包流程:这个就是可以用EXE文件打开,然后我在这篇文章去找下载地址:https://cs.rin.ru/forum/viewtopic.php?f=10&t=100672

然后发现是个论坛,里面用游戏的AES Key。好家伙。也就是AES_finder可以不用下载。

我安装VS后,点sln文件结果报错。

img

我通过[黑神话悟空解包教程模组制作序章]_游戏热门视频下载到了AES_finder.exe。把它放在游戏目录中双击,然后提示要安装Java。38M。

安装Java后,双击AES_finder.exe,马上出现了key.exe。但是可能加壳了,没有出AES Key

Exe is protected. Remove protection before using the tool. More info in the readme. Execution time in seconds: 0 Exe 受保护。在使用工具之前请移除保护。更多信息请参阅自述文件。

我拿匹诺曹测试失败了,不过黑暗之魂还是有效的。

不过我在别的地方发现了匹诺曹的key:0x9140E4AFF909A85DC0F4E6E45CD5012058F39D60C7EE2BAB1DB05D85668EE53B

获取 Mappings.usmap 文件

1下载DLL_injector.exe文件,不要下载源代码,哪个我不会用,你如果会用就随意。[DLL Injector Information - WeAreDevs](https://wearedevs.net/d/DLL Injector)

2下载UE Mapping Dumper文件,GitCode - 全球开发者的开源社区,开源代码托管平台

3下载Memcury,解压到\UnrealMappingsDumper-master\Dependencies\Memcury文件夹。缺少这一步,用VS运行UnrealMappingsDumper.sln会报错,说缺失Memcury.h文件

4下载VS,用VS打开UnrealMappingsDumper.sln文件。然后会报错,但是在\UnrealMappingsDumper-master\x64出现了UnrealMappingsDumper.dll。运行后原本800kb变成了261M,如果多运行几次会更大,一部分是VS环境配置,另一部分是缓存。

5把DLL_injector文件夹放到游戏目录,然后把UnrealMappingsDumper.dll放到\DLL Injector\resources文件夹。然后打开x64_DLL_Injector.exe。文件夹选择UnrealMappingsDumper.dll;运行软件选择DLL Injector.exe;

6打开游戏,然后点x64_DLL_Injector.exe的inject,过十几秒会出现成功的标志。

还是失败,没找出原因。离谱。可能是软件的问题,也可能是游戏的问题。

这也是一个坑,我下载了DLL_injector:[DLL Injector Information - WeAreDevs](https://wearedevs.net/d/DLL Injector)

UE Mapping Dumper:GitCode - 全球开发者的开源社区,开源代码托管平台

但是我下载了这两个不知道怎么用。用两个疑问:1DLL_injector加载的dll是在哪,是哪个dll;2UE Mapping Dumper怎么使用。

搜攻略说是用VS打开SLN文件。

我搜了一下如何使用:UnrealMappingsDumper 教程

说用VS打开运行就行,结果

img

我分析是因为放在桌面的原因,于是我就把这个文件夹放到游戏目录中,结果还是不行,于是我看日志:

img

然后就一个一个找问题:解决 VS 无法打开包括文件: “XXX.h”: No such file or directory问题

然后我在文件夹没找到这个文件。然后我回头看Gitee上的这个文件夹,然后发现是个链接,的确没这个文件,怪不得没效果。

通过一些方法把https://github.com/kem0x/Memcury下载下来,18KB

然后运行,报错

img

不过好的一点是出现了UnrealMappingsDumper.dll。

我分析这个报错的缘由,在这篇文章找到了答案:在visual studio用动态链接库创建的在运行的时候显示说不是win32的程序这是什么原因我的平台属性设置的是64的操作系统也是64的_微软技术-CSDN问答

动态库是无法运行的,应用程序将在需要时加载动态库。你需要创建exe程序来调用DLL。

我猜测这也是用到DLL_injector的原因。但是为啥要绕这么一大圈搞个UnrealMappingsDumper.dll。直接把UnrealMappingsDumper.dll放出来不就行,难道是和部署环境相关。

然后就使用DLL_injector。但是点击没啥用。

img

然后我又发现我下载的文件有问题。从GitHub下载后。

img

运行又出问题。

然后我想是不是要运行游戏后再点DLL_injector。回头测试一下。

原文说:运行游戏后,打开 DLL injector, 加载 UE Mapping Dumper并等待 Mappings.usmap 文件生成。

导出文件到 FModel

1必须下载到FModel.exe,不要下载到源文件的,源文件是给大佬更新软件用的。

2必须下载给FModel.exe添加依赖,不然会报错。把这个https://github.com/X1A0CA1/Files/tree/main/BlackMythWukongBlogFiles,解压到Fmodel文件夹/Output/.data/ 。然后重启就可以看到包了

3在Directory - AES输入AES Key。包就可以打开了。

不知道为啥提示映射失败,不能在软件中打开。然后我干脆把资源导出来,用3dsmax查看。

另外就是感觉没用Mappings.usmap 也没啥影响。

这个官网要翻墙才能下载:https://fmodel.app/

然后我在第三方网站下载:https://sourceforge.net/projects/fmodel.mirror/files/latest/download

还有这个也可以下载:GitCode - 全球开发者的开源社区,开源代码托管平台

看了一下使用,要用VS。

然后看了这个:使用FModel提取游戏资产-CSDN博客

发现官网下载的 FModel是exe文件。

img

右上角下载的是EXE文件,左下方下载的是源文件。

用EXE文件的时候要把EXE放到游戏目录运行,不然会报错。下面是打开的情况。要在最下面那个目录那选择游戏目录,然后才能检测到游戏。

img

微信截图翻译

然后我就去看这个教程:[黑神话悟空解包教程模组制作序章]_游戏热门视频 我通过这个下载到了 搜了一下如何用vScode打开.sln后缀文件:Visual Studio Code - Code Editing. Redefined 这个下了老半天才3M,然后到官网下载:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux

又找到一篇文章:黑神话:悟空 解包教程 | XiaoCai’s Blog

还是失败了。浪费半小时。

img

还是报错:

img

回头不查看,直接导出模型到blender或者3dsmax中看。

关于游戏打包

官方文档:打包你的项目 | 虚幻引擎 5.6 文档 | Epic Developer Community (epicgames.com)

打包是将虚幻引擎项目转换为独立可执行文件(.exe)或应用程序的过程。 Pak(.pak)文件是虚幻引擎用于存储烘焙内容的归档文件格式。

打包细节:UE5 Pak学习与应用(四) 基于虚幻引擎的Pak制作工具 - 知乎 (zhihu.com)

其实主要变换点在于: 工程 Content: 把 Content 之前的路径去掉,Content 变为 Game.

工程 Plugins: 工程的插件里面的资产也是可以烘焙打包到 Pak 文件中的,但它的路径处理就稍微复杂一点。(1)需要把实际的插件名称前的路径移除掉,即多个插件可能包含在一个 Plugins/folder 中,而这个包裹的文件夹在 Reference 路径中是不需要的。 (2)然后把 Content 路径移除掉… 是的,这里是移除掉,虽然在磁盘上这个目录是实际存在的,但是虚幻引擎的读取使用规则里面不需要。可以看第四条 Engine Plugins 中有个 AnimationSharing 插件,里面存的 AnimsharingRed 资产的处理例子。 Engine Content: 处理手法和工程 Content 差不多,可以理解为是把 Content 之前的路径去掉了,然后 Content 变为 Engine;也可以理解为这里是把 Content 变没了。

Engine Plugins: 处理手法与工程 Plugins 类似,去掉实际插件前的包含目录,去掉 Content. 以上是虚幻引擎在处理资产磁盘路径 到 Reference 路径的变换规则,多对比几次磁盘路径和 Reference 路径就能归纳出来。

.pak文件用解压软件打不开,可以用Fmodel解压出来。

.uasset文件通过虚幻引擎打开:https://blog.csdn.net/qq_39934403/article/details/114832013

UE4游戏提取的通用步骤(21_9_8)_unrealpaktool-CSDN博客

可以参考思路

虚幻4游戏解包导出及Mod制作指南

这个有点复杂。

虚幻引擎自带工具解Pak包_哔哩哔哩_bilibili

这个没试过,是个思路。试着用zip解压一下。

请添加图片描述

导出来了,但是打不开。

结尾

目前暂未成功。

目前还是UE Viewer最简单好用,不要另外配置依赖文件。

1UE Viewer下载:Gildor’s Homepage,才2M。

2使用工具 umodel_win32 解包、预览、导出匹诺曹的模型文件

img

img
导出的时候选tool-export options。注意模型选gltf,方便用blender打开。其他的也许,但是要再安装插件。
请添加图片描述
这是我导出来的盾兵的模型,不清楚为啥没贴图,在UE viewer中明明有贴图。
请添加图片描述

相关文章:

  • Java Solon v3.3.2 发布(可替换,美国博通公司的 Spring 方案)
  • 博客园突发大规模DDoS攻击 - 深度解析云安全防御新范式
  • 《深入理解Apache Dubbo 与实战》笔记
  • 经典 C 程序 100 例实战详解:从入门到精通的一周学习计划
  • 【idea】工具使用报错记录
  • 0612_正则表达式
  • PostgreSQL 用户名大小写处理规则
  • 【力扣 简单 C】206. 反转链表
  • Java八股文——MySQL「SQL 基础篇」
  • STM32通用定时器TRC含义解析
  • Docker Docker Compose 一键安装
  • 国产USRP X410 PRO/PRO+:开启软件无线电的全频段多通道新时代
  • 白杨SEO:抖音DOU+、巨量广告、巨量千川、巨量本地推投流有什么区别与技巧?
  • 设计模式——责任链
  • Nuttx之mm_realloc
  • MPMA:Preference Manipulation Attack Against Model Context Protocol
  • Java学习笔记之:Vue中路由的基本使用
  • OpenCV 多边形绘制与填充
  • 【鸿蒙开发】组件动态创建
  • CKA考试知识点分享(11)---CRD
  • 响应式网站建站价格/鸡西seo顾问
  • 广告公司网站开发/网站优化要做哪些
  • 龙华三网合一网站建设/重庆电子商务seo
  • 计算机上网题的模拟网站怎么做/上海培训机构排名榜
  • 效果图网站有哪些/seo官网优化
  • 郑州通告最新/百度seo快速提升排名