Disunity_V0.5.0 提取Unity生成的Apk的資源

首先說明一點,我最後並沒有成功,僅供大家參考。

我做這個是因爲,我的Unity工程中的Scene0.unity場景文件損壞了,我就想着應該這個文件在生成的APK裏邊,就想把它給解出來用。

步驟,

1.解壓APK

將APK文件後綴改爲rar/zip之類的直接解壓得到下面的文件:

這就是個中規中矩的安卓APK的內部了。

2.尋找資源文件

喏~在這兒了

Managed中是所有引用的dll,以及自己的腳本文件組成的dll,聽說在這個裏邊:Assembly-UnityScript.dll,不過這個不關我的事,我還要找.unity場景文件!!!!!

當然,我也想要資源文件,因爲覬覦其他遊戲的資源文件很久了,嘿嘿~

3.學習使用disunity_v0.5.0工具

你解壓這個工具後,裏邊就有個讀我,就是說明書了

來我們來初步讀下

看起來是不是很牛逼,支持 2~5的反解。不過它又說,由於只支持原生文件的讀寫,這些文件呢不含任何對象反序列化,(這句我沒懂,還得請教大家)。不過後面那句我是懂了,就是說反正不能直接解出來Assert了。

底下是操作說明。

用法是:disunity <command> [options] <file>

就是說disunity 加必寫命令,加可選說明,加必寫文件地址

再底下說命令分兩組,一組是用來解assert的,另外一組用來解bundle的。

我關注Assert這組,

asset unpack      | Unpacks raw data blocks from a file. Could be useful for manual extraction.

                             解壓文件原生數據塊,這個或許對手動解壓有用哦

|asset blocks      | List data block offsets and sizes. Could be useful for manual extraction.

                             列出數據塊的偏移和大小,這個當然對手動解壓有用哦

(呀,我寫到這裏,突然發現我應該把這個asert blocks好好用用,或許能進一步解決問題。)

4.操作

好,有了這兩個命令,可以開張了。

先用assert unpack來解壓。

方法是:CMD定位到disunity_v0.5.0目錄中,然後寫

disunity assert unpack C:\Assert\bin\Data\*.*

回車後,發現一大堆無法識別split1/split2/... ... 的錯誤。

5.癥結所在

問題出來了,我需要的其實就是.assert,然而這裏是.assert.split*

至於怎麼把這些分割包合併起來,尚無對策。


************************************************************************************************************************************************************************************************

***************************************************************華麗的分割線******************************************************************************************************************

上面一節研究就完了,然後我猛然想起來,我可以試試Unity生成的exe文件的反解密

沒錯,這個就是exe的數據包了,其中sharedassets0.assets就是了,沒有分割啊,多好的,然後我就如上面步驟一樣的把這個東西成功解壓了,解壓後如下:

得到了這個東西,這個呢,就是上面提到過的blocks了,至於這個再怎麼解壓,我也沒辦法了,不過上面有個命令是assert blocks或許有用,我有時間再研究研究吧



發佈了61 篇原創文章 · 獲贊 34 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章