AssetRipper:免费开源的 Unity 资源提取工具,3 分钟把游戏文件还原成可打开的工程
【免费下载链接】AssetRipperGUI application to analyze game files项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper
AssetRipper 是一款免费开源的 Unity 资产提取工具,它解析游戏的.assets序列化文件和 AssetBundle,把模型、纹理、音频和脚本导出成可以直接用 Unity Editor 打开的工程。适合想找回游戏资源的游戏开发者、Mod 制作者和逆向学习者。
🎯 它解决什么场景
发布包体积超标、怀疑混入了测试素材:把游戏Resources或Data目录下的.assets文件拖进去,它会列出全部资产和引用关系,你可以对照场景挑出无用资源。
原始工程丢失、旧版 Unity 已装不上:从序列化文件里提取资产并导出工程,模型、纹理、材质保留原始属性,用新版编辑器直接打开。
要做 Mod 但缺基础素材:导入对应的 AssetBundle 并导出,得到通用格式的模型、纹理和原始材质参数,可直接用来制作替换资源。
🚀 从零到第一次跑通
下载:从发布页面下载与你架构匹配的自包含压缩包(例如AssetRipper_mac_arm64.zip),里面是自包含可执行文件,不用安装 .NET 运行时。完成标志:解压目录里能看到AssetRipper.GUI.Free可执行文件。
启动:双击它即可,macOS 也可以在终端执行./AssetRipper.GUI.Free。它本质是本地 Web 应用,监听一个随机端口后自动打开浏览器窗口。完成标志:浏览器里出现导入与设置页面。
验证:把游戏的.assets文件或 AssetBundle 拖入窗口并点击导入。完成标志:日志出现处理进度,输出目录里生成带Assets文件夹的 Unity 工程,用 Unity Editor 打开即可确认。
🔧 工具箱内部
数据流向是 读取 → 处理 → 导出。读取层在 Source/AssetRipper.IO.Files/:BundleFiles/负责 AssetBundle 的头部、归档节点树和 Lzma、Zstd 解压,SerializedFiles/解析.assets及其中的类型树。解析之后 Source/AssetRipper.Import/ 重建 Unity 对象图,Source/AssetRipper.Processing/ 把资产组织成场景、预制体和资产组。导出由Source/AssetRipper.Export.UnityProjects/写入 Unity YAML 资产,模型、纹理、音频交给Source/AssetRipper.Export.Modules.下的子模块,Mono 游戏的 C# 代码则由Source/AssetRipper.AssemblyDumper/反编译还原。
命令行参数:--headless禁用自动开浏览器窗口,--log保留日志文件,--log-path指定日志位置。只解包.bundle或压缩文件,可以用Source/AssetRipper.Tools.FileExtractor/这个命令行工具,文件拖到其可执行文件上即可。
⚖️ 能力边界
明确能做的:支持 Unity3.5.0到6000.5.X;输入为.assets序列化文件、AssetBundle 及压缩包;输出为 Unity 工程(YAML 资产)、GLB 模型和 PNG 等通用格式;覆盖 Windows、macOS、Linux。
明确不能做的:.bundle本身不存 Mono 脚本,缺少对应.dll时脚本无法还原,需要把Managed文件夹一起拖入;IL2Cpp 游戏没有现成 C# 源码,要先用 Cpp2IL 等外部工具生成程序集。另外不同 Unity 版本的支持质量略有差异。
❓ 踩坑问答
问:Linux 报Too many open files?
答:文件描述符上限太低。在终端执行ulimit -n 1048576再启动,永久修改则编辑/etc/security/limits.conf。
问:macOS 报 Permission denied?
答:可执行文件缺执行权限,执行chmod +x AssetRipper.GUI.Free后再运行。首次启动还会弹出未签名应用提示,在「系统设置 → 隐私与安全性」里点「仍要打开」。
问:导不出 Mono 脚本,日志写着 'Unknown' scripting backend?
答:说明程序集没跟.bundle一起导入。把同名程序集放进一个文件夹,与 bundle 一起拖入;日志出现Files use the 'Mono' scripting backend即成功。
问:日志出现Could not add pe assembly to name dictionary!?
答:通常是两个同名程序集,检查Managed目录及子文件夹并去重。
问:纯无头服务器上没有浏览器?
答:加--headless参数启动,它只监听端口、不自动开窗口,你在别处手动访问即可。
📅 维护状态
项目由独立作者持续维护,发布节奏包括稳定版、预发布版和每次提交触发的 nightly 构建,社区通过 Discord 交流,界面已翻译 22 种语言。源码可用git clone https://gitcode.com/GitHub_Trending/as/AssetRipper获取,从游戏文件到可打开的 Unity 工程,这条免费工具链就完整齐了。
【免费下载链接】AssetRipperGUI application to analyze game files项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考