使用 repak 提取已烘焙资源

使用 repak 提取已烘焙资源

本教程介绍使用 repak 从传统 .pak 文件中提取已烘焙资源。原教程仅适用于 Content/Paks 目录中没有 .ucas 或 .utoc 的情况;该目录仍可能包含 .pak、.sig 及其他文件。

FModel 中的 Pak 资源包示例

安装 repak

repak 是跨平台命令行工具,可在发布页面下载。Windows 用户可选择 repak_cli-x86_64-pc-windows-msvc.msi,安装程序会将工具加入 PATH;也可下载 ZIP 包,通过 repak.exe 的完整路径或相对路径调用,或者自行加入 PATH。

原教程列出的 repak 特点包括:下载和使用方便;对 UE4、UE5 各版本支持较好;持续维护;速度快于替代工具;支持跨平台;内置实用工具;并能防范试图向父目录写入文件的恶意 pak 包。本指南仅使用其基础功能。这些是原作者的描述,具体表现可能随版本变化。

原教程提到,运行 MSI 时 Windows 可能先询问是否运行,随后因安装程序未签名而显示 Defender 提示;原作者给出的操作是依次点击“更多信息”和“仍要运行”。原文还称代码签名需要每年支付超过 100 美元,实际费用和提示可能随时间变化。如不希望运行安装程序,可使用 ZIP 版本。

使用命令行解包

不要双击运行 repak.exe:它是命令行工具,直接双击可能只会看到窗口出现后立刻消失。进入游戏的 Paks 文件夹,通常位于 游戏安装路径/游戏名/项目名/Content/Paks/,在文件管理器地址栏输入 cmd 并回车,或通过右键菜单打开终端。

运行 repak -h 查看帮助,再运行 repak unpack -h 查看解包选项。如果提示找不到 repak,检查安装和 PATH;若命令行在安装之前打开,关闭后重新打开。

如果游戏使用 AES 密钥,可参考查找 AES 密钥,然后在命令中使用 --aes-key。示例:

repak unpack MyGameName-WindowsNoEditor.pak
repak unpack MyGameName-WindowsNoEditor.pak --output "F:/Modding/Game/Unpacked"
repak --aes-key 0x12345678 unpack MyEncryptedGame.pak

解包多个 pakchunk

如果游戏将资源分散在多个 .pak 文件中,Linux 用户可使用 *.pak 通配符。Windows 用户可在文件管理器地址栏输入 pwsh 打开 PowerShell,并用 (gci *.pak) 代替单个文件名,一次解包多个文件:

repak unpack (gci *.pak)
repak --aes-key 0x12345678 unpack (gci *.pak) --output "F:/Modding/Game/Unpacked"

使用 --output 可将文件输出到同一目录;不指定该选项时,每个 pak 文件会有自己的解包目录。

来源:Dmgvol / UE_Modding:Extracting Cooked Assets。