致一年前的朋友們:我終于找到Unity拆包的方法了

2018年的最后一天,我來還債了。

2017年的暑假,那時的我還只是一個默默無聞的UP,無意間發(fā)現(xiàn)了一個抓取手游日志的操作,于是錄成視頻投到B站。
我沒想到那么多人看了這個視頻(也對B站的推送制度感到不解)

其實我現(xiàn)在也只是勉勉強強算個半吊子程序員,我為當年自己草率的視頻標題道歉。
上面那個方法太差勁了,那段時間里,我研究了半天解包的方法,去NGA論壇請求幫助,但沒有人懂。
直到進入大學(xué)后,我看到同學(xué)把碧藍航線的Live2D給提取出來,然后我請教了他,他給了我解包程序,于是我就百度了下。

原來這位大佬一年前就出了相關(guān)教程了。這位大佬應(yīng)該是國內(nèi)Unity拆包/破解第一人??吹竭@些有點相見恨晚。
早早退坑的我錯過了這么多,不過現(xiàn)在搬過來還不算太遲,也算是了卻我的一個心結(jié)。
碧藍航線音頻提取
2017-9-29更新:
今天有人發(fā)現(xiàn)hca中文文件名亂碼問題,還好vgm是用c#寫的能夠方便修改代碼,掃了遍代碼后發(fā)現(xiàn)是編碼問題,把vgmtutil.dll里的Encoding改成Encoding.UTF8就解決了,代碼和成品都已經(jīng)更新,需要的人重下即可。
正文
眼看這個月都快要過了我還是沒有東西寫,只好隨便寫個東西濫竽充數(shù)一下啦,另外有些人想要這個游戲修改方法的話可以去隔壁友鏈看看哦~
碧藍有兩個版本的音頻,前一個版本用的assetbundle+FSB,具體方法看碧藍航線r吧的貼子就好了,這次說的是新版的格式。
從手機拖出整個cue文件夾,用文本模式隨便打開一個.b文件找特征,可以很明顯的看到“ACB Format”字樣,看來又是criware那套,這東西非常簡單,就兩步
???????VGMToolbox???????????????HCA Decoder
acb?——————–>?hca?———————–>?wav
唯一需要操作的地方只有HCA Decoder的時候需要key,在libcri_ware_unity.so的函數(shù)criWareUnity_SetDecryptionKey下斷點即可,查看r0,r1的值就好了

key就是0x95356C72和0x0002354E
接下來就提取啦,因為VGMToolbox的操作有點復(fù)雜,所以打算自己再擼個程序批量提取,剛好VGMToolbox是用c#寫的HCA Decoder也是開源的,所以就從VGMToolbox拖出format.dll和vgmtutil.dll,加上HCA Decoder的c++源碼,用C++/CLI隨便擼個程序就ok啦
程序+源碼
百度云?https://pan.baidu.com/s/1i5b1SzF
使用方法:
BlhxCueDecoder.exe sourceDirectory destinationDirectory
程序運行需要
.NET Framework 4.0
Microsoft Visual C++ 2015 Redistributable
版權(quán)屬于: Perfare's Blog
原文地址: https://www.perfare.net/816.html
轉(zhuǎn)載時必須以鏈接形式注明原始出處及本聲明。
(抱歉插不了外鏈)
再附上Live2D提取的鏈接
