Unity3d开发(14)AssetBundle中的资源提取
做过破解的人都知道,游戏中的美术资源没法完全加密,即便使用特别复杂的加密方式,也有办法将其中的资源提出来。对于比较深的东西这里就不多讨论了,就给大家介绍下能掌握的,利用现成的工具在AssetBundle中做资源提取。
解析 Bundle
这是基于Java实现的资源提取工具。它的优点在于Mac上也可以使用,另外就是支持命令行操作,这方便我们执行一些批处理操作。
UABE(Unity Assets Bundle Extractor)是一个编辑AssetBundle的工具,可以将AssetBundle中的资源提取出来,也可以把编辑后的资源信息存入AssetBundle。这不是个开源项目,它是使用C++编写的。作者提供了静态和动态库,以方便进程进批处理程序中。另外它也提供了一个可视界面,虽然low了一点,但界面毕竟不是重点。它也有个Github页面,不过只用来反馈issue。界面如下:
使用时,先点击File->Open,然后选择要导入的AssetBundle,如果是压缩过的Bundle,会弹出提醒,将文件先另存为未压缩的版本。点击Export可以导出Assets,点击Import可以加入其他资源,并在File-Open中将其保存。Info可以用来预览Bundle文件的详细信息。如果要导出供其他软件使用,需要勾选“Remove the TypeTree”。
预览 Asset
这是一个预览Asset文件内容的工具。可以在这里下载,这个工具没找到作者和代码出处,有知道的欢迎在下面留言。这个工具直接是个exe,对于这种莫名其妙下到的exe,我还是怕怕的,没准那天谁往里加个木马呢。
点击Open Assets-file可以打开面板选择资源文件。加载后可看到详细信息,点击Extract All可以将文件导出到exe同级目录,微微有些low,同时也会导出一堆杂七杂八的二进制,我猜想是文件索引信息。
如果你的Bundle特别大,上面的那个工具就吃不消了。所幸后浪推前浪,就有了UnityStudio项目。它可以打开Asset文件预览,理论上也可以提取Bundle,不过我并没有成功。它也可以直接预览图片、shader、文本文件,并分目录导出资源和模型。项目是用C#写的,想定制些功能也可以自己改