首页 > 代码库 > (转)unity3D 如何提取游戏资源 (反编译)+代码反编译

(转)unity3D 如何提取游戏资源 (反编译)+代码反编译

原帖:http://bbs.9ria.com/thread-401140-1-1.html

 

首先感谢 雨松MOMO 的一篇帖子 教我们怎么提取 .ipa 中的游戏资源。教我们初步的破解unity3d资源的基本方法
附上原帖的链接:
http://www.xuanyusong.com/archives/2584

下面我会从头介绍一下提取的全过程:

步骤一:首先从 https://github.com/ata4/disunity/releases 下载 DisUnity v0.3.1
也可以直接用工具下载 https://github.com/ata4/disunity/releases/download/v0.3.1/disunity_v0.3.1.zip
我解压到了D:\disunity_v0.3.1 这个路径 大家根据自己的需求来选择自己的路径吧
<ignore_js_op>QQ图片20140624175731.jpg 
步骤二:确保安装了 Java JDK 7
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
检测是否安装成功 在cmd输入 java -version 可以打印出版本号 说明应该没问题了。如果没有成功这里就不详细介绍了 问下度娘或者google一下(虽然最近google有些杯具了),请大家见谅。
<ignore_js_op>QQ截图20140624184642.png 
步骤三:获取可以破解的源文件 首先我们需要Android的 .apk 或者 IOS的 .ipa  或者网页游戏的.unity3d  和 .boundle 文件
Android:  先看看 Android 的 apk 安装包吧,把下好的文件后缀名.apk 直接改成 .rar 解压到单独的文件夹  可以反编译的文件的路径就在:解压后的文件夹\assets\bin\Data
IOS: ios的 ipa的安装包 也是同样的原理 把.ipa 改成 .rar 然后解压到单独的文件夹 可以反编译的文件的路径就在: 解压后的文件夹\Payload\godoflight.app\Data  (这里我用的是神之光举例子 所以是 godoflight.app)
网页:  这个我们重点讲一下

下面我讲一下如何提取unity3d做的网页游戏的资源

首先我们先要下载 火狐浏览器 http://www.firefox.com.cn/ 这是官方网站 请大家自行下载吧。

然后安装 FireBug 插件 上图了 
<ignore_js_op> 
然后搜索 Firebug 找到后点安装
QQ图片20140624183327.jpg 
安装成功后这里会有个虫子的图标

准备工作完成了,下面我们找一个unity3d开发的网页游戏 这里我们用 《冰火破坏神》 来举例,算是给完美做广告了 虽然他们一定会恨我的(坏笑)。


先登录游戏,然后打开firebug  如图 点 [网络] -> [全部] 如果目前网页中有unity的资源的话 就会在下面的列表里出现

这里我先清理了一下因为里面有很多不是unity的资源文件 列表清空了之后 我点 【进入游戏】 就进入了一个加载界面列表里开始加载新的资源

有.boundle 和 .unity3d 的资源 这就是我们需要的 至于其他的资源 我也是刚刚才尝试出来的估计就这两种有用的文件吧 如果不是还请大家补充 大家共同研究哈。
QQ图片20140624184125.jpg 

 

这里已经加载了不少资源了 然后就是蛋疼的下载 因为一直没有很好的批量下载的方法 我目前还是一个一个的下载 如果大家有好的方法的话 希望可以分享一下 感激不尽。 
QQ截图20140624185839.png 
复制链接 然后我用工具下载下来就可以了(我用的QQ旋风)。

到此需要做的准备基本完成下面我们开始反编译。

步骤四:  打开cmd 进入步骤一中的 D:\disunity_v0.3.1 文件夹中
QQ截图20140624190930.png 
下面是disunity_v0.3.1中的目录结构
QQ截图20140624190744.png 
然后我们可以用命令 disunity extract 需要反编译的文件的路径\*.* 就可以了 
我的反编译文件放在了E:\Downloads\szgPJB(jb51.net)\assets\bin\Data 这个文件夹中 用 *.* 就可以把里面的文件全部反编译 当然无法识别的文件是没法反编出来的  
QQ图片20140624191530.jpg 
从.ipa和.apk中解压出来的资源 貌似只有 .assets 文件可以反编译出来 
QQ图片20140624191651.jpg 

从网页上下载的.boundle和.unity3d 文件也可以放到一个文件夹 用上面的方法 反编译出来。
当然 单个文件的话 把*.* 替换成想要反编译的文件就可以了 

以上就是整个反编译的过程 

反编译出来的文件  会分几个类别  分别放到以下文件夹中 
>QQ截图20140624194256.png 
audioclip 是音频文件 
dubemap这不太清楚 里面存放的好像是贴图文件
font 是 字体
mesh 是 模型文件 .obj 
shader 是 里面是.shader文件 
Texture2d 是 贴图文件 

好了 先写到这里吧 有什么错误和不合适得地方请大家 批评指正  这是我写过的最长的一篇帖子了 还请大家多多支持。  

求加精 求回复  谢谢大家。

这里是上面提到的所有准备工作需要用到的软件安装包 放到百度云盘里了 方便大家把所有需要的软件一起下载
链接:  http://pan.baidu.com/s/1jGJtDB4 密码:

a4tj



关于代码的反编译我在这里补充一下资料 自己也没试过就先当个搬运工吧 希望对大家有帮助 感谢 雨松MOMO 大神的贡献 
附上地址:

(Windows)http://www.xuanyusong.com/archives/2664
(Mac OS X)http://www.xuanyusong.com/archives/2675
 
 
反编译工具链接(包括dll反编译工具)
http://pan.baidu.com/s/1kTihPdl

(转)unity3D 如何提取游戏资源 (反编译)+代码反编译