zoukankan      html  css  js  c++  java
  • (转)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 解压到单独的文件夹  可以反编译的文件的路径就在:解压后的文件夹assetsinData
    IOS: ios的 ipa的安装包 也是同样的原理 把.ipa 改成 .rar 然后解压到单独的文件夹 可以反编译的文件的路径就在: 解压后的文件夹Payloadgodoflight.appData  (这里我用的是神之光举例子 所以是 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:DownloadsszgPJB(jb51.net)assetsinData 这个文件夹中 用 *.* 就可以把里面的文件全部反编译 当然无法识别的文件是没法反编出来的  
    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
  • 相关阅读:
    Python_反射
    Python_面向对象_类2
    Python_面向对象_类1
    Python_logging模块
    Python_子进程管理subprocess模块
    Python_python内置加密模块
    Python_configparser模块
    Python_xml
    Python_shelve模块
    Python_shutil模块
  • 原文地址:https://www.cnblogs.com/wonderKK/p/4168455.html
Copyright © 2011-2022 走看看