原帖: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> 
步骤二:确保安装了 Java JDK 7
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
检测是否安装成功 在cmd输入 java -version 可以打印出版本号 说明应该没问题了。如果没有成功这里就不详细介绍了 问下度娘或者google一下(虽然最近google有些杯具了),请大家见谅。
<ignore_js_op> 
步骤三:获取可以破解的源文件 首先我们需要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 找到后点安装
 
安装成功后这里会有个虫子的图标

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

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

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

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

 

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

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

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

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

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

反编译出来的文件  会分几个类别  分别放到以下文件夹中 
> 
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 如何提取游戏资源 (反编译)+代码反编译的更多相关文章

  1. Unity 提取游戏资源之ktx转换

    http://blog.csdn.net/akof1314/article/details/38022263 从雨松的博文<Unity3D研究院之mac上从.ipa中提取unity3D游戏资源( ...

  2. Unity3D AssetBundles 动态加载游戏资源

    AssetBundles are files which you can export from Unity to contain assets of your choice. These files ...

  3. Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条

    Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条 异步任务相信大家应该不会陌生,那么本章内容MOMO将带领大家学习Unity中的一些异步任务.在同步加载游戏场景的时候通常会使用方法 Ap ...

  4. 【反编译系列】一、反编译代码(dex2jar + jd-gui)和反编译资源(apktool)

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! [反编译系列]二.反编译代码(jeb) [反编译系列]三.反编译神器(jadx) [反编译系列]四.反编译so文件(IDA_Pro) 概述 ...

  5. Unity2016 Unity3D开发VR游戏的经验

    http://z.youxiputao.com/articles/8313 在4月12日的Unite 2016大会上,暴风魔镜高级产品经理吴涛分享他用Unity3D开发VR游戏的经验,以下为分享实录: ...

  6. cocos2dx游戏资源加密之XXTEA

    在手机游戏当中,游戏的资源加密保护是一件很重要的事情. 我花了两天的时间整理了自己在游戏当中的资源加密问题,实现了跨平台的资源流加密,这个都是巨人的肩膀之上的. 大概的思路是这样的,游戏资源通过XXT ...

  7. APK反编译、重编译、签名、查看源码

    1.反编译与重编译 工具:apktool 下载地址:https://ibotpeaches.github.io/Apktool/ 环境:Java (JRE 1.7) 安装步骤:参考官网(也可以不安装, ...

  8. 安卓apk的编译与反编译

    原文:https://blog.csdn.net/baidu_33870664/article/details/80186945 android基于java的,而java反编译工具很强悍,所以对正常a ...

  9. C#代码反编译 得到项目可运行源码

    C#代码反编译 得到项目可运行源码 摘自:http://www.cnblogs.com/know/archive/2011/03/15/1985026.html 谈到"C#代码反编译&quo ...

随机推荐

  1. Linux/CentOS设置全局代理(http)

    说明:为什么说是http代理,其实这个还不能说是全称走代理,罪名写的区别就是ICMP协议这个设置就无效,只能说是90%的应用都可以使用这个设置来实现代理访问,只有个别不行,比如一些软件根本不走http ...

  2. Google Reader明日关闭:14款替代品对比

    北京时间6月30日上午消息,谷歌将于7月1日关闭RSS阅读器服务Google Reader,目前许多用户已转向其他的RSS阅读器服务. 美国科技博客Marketing Land本周对市面上多个RSS阅 ...

  3. Java中的锁(转)

    Java中的锁 锁像synchronized同步块一样,是一种线程同步机制,但比Java中的synchronized同步块更复杂.因为锁(以及其它更高级的线程同步机制)是由synchronized同步 ...

  4. HDU 4771 Stealing Harry Potter's Precious (2013杭州赛区1002题,bfs,状态压缩)

    Stealing Harry Potter's Precious Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 ...

  5. Serial Wire Viewer (SWV)

    Being able to display values for counters, sensors and other debugging information is an important p ...

  6. the difference between an embOS interrupt and a zero latency interrupt

    the difference between an embOS interrupt and a zero latency interrupt is the interrupt priority lev ...

  7. TXMLDocument use case (Delphi)

    Description This example illustrates the basic operations on an XML document. Code procedure CreateD ...

  8. (ios7) 解决代码布局View, ios7 中 subView 高度增加StatusBar20dp的问题,保证Ios6,ios7代码一致

    在ios7 布局中,Status Bar 和 ToolBar ,NavigateBar 等都包含在ViewControl的主View中. 这样原来ios6 的View布局 整体向上移动了20dp,下面 ...

  9. Java 正则表达式格式化时间显示

    /* * test.java * Version 1.0.0 * Created on 2017年12月16日 * Copyright ReYo.Cn */ package reyo.sdk.util ...

  10. Java枚举的七种常见用法

    用法一:常量 在JDK1.5之前,我们定义常量都是:publicstaticfianl.....现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. Java代码 ...