(轉)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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM