【筆記】碧藍(lán)檔案資源解包方法【Blue Archive】

23年3月更新: 由于BA官方對解包表明了不支持的態(tài)度,特別說明如下:
1. 本文不再更新, 僅作為移動應(yīng)用安全研究與學(xué)習(xí)的研究筆記存檔;
2. 對于解包得到的任何非公開內(nèi)容請避免在任何公開場合傳播、使用, 其所有權(quán)歸屬于Nexon / Yostar;
3. 私信和評論區(qū)不再回答有關(guān)解包的問題. 如有相關(guān)學(xué)習(xí)需要請自行研究處理, 本文僅供參考.
(喵了個咪的....)
23年2月更新: 本文寫于22年10月,目前部分內(nèi)容已經(jīng)過時(尤其是游戲apk文件,已經(jīng)經(jīng)歷過數(shù)次版本更新),僅供參考。
一 準(zhǔn)備工作:
一臺已經(jīng)安裝了碧藍(lán)檔案的手機(jī)/模擬器
下載解包腳本extract.py和游戲apk文件:?pan.baidu.com/s/1O3xs5Cil_n3cuE1koY78KA?
提取: 0721?(23年2月更新: 該APK文件已過時, 可以在Apkpure(需梯子)下載到最新的APK文件:?apkpure.com/cn/ブルーアーカイブ/com.YostarJP.BlueArchive/download?utm_content=1008)
安裝Python, 自行解決, 請安裝Python 3.9以上版本, 并且安裝過程中勾選'將Python添加到PATH'.
二 操作方法:
碧藍(lán)檔案的媒體資源分為兩個部分, isInBuild = true?和 isInBuild?= false,?
分別對應(yīng)包含在安裝包中的資源文件和進(jìn)入游戲后才下載的6G資源文件.?
下面分別描述如何解包這兩部分文件.
第一部分文件:
用WinRAR等壓縮文件打開準(zhǔn)備工作中下載的游戲apk文件, 進(jìn)入\Android\obb\com.YostarJP.BlueArchive\ ,?
雙擊main.167311.com.YostarJP.BlueArchive.obb, 進(jìn)入其中的assets文件夾, 第一部分文件就位于其中, 解壓即可.
提示, 第一部分文件包括絕大多數(shù)登錄界面的'Blue Archive!'角色語音, 位于assets\Audio\VOC_JP\JP_角色名\角色名_Title.ogg .

第二部分文件
以日服為例,?在已經(jīng)裝有碧藍(lán)檔案的手機(jī)上把?Android\data\com.YostarJP.BlueArchive\files\MediaPatch 這個文件夾復(fù)制一份到電腦上.
將 解包腳本extract.py 放入MediaPatch 文件夾, 左上角文件-打開Windows?PowerShell-以管理員身份打開Windows Powershell, 輸入python extract.py, 回車.
等待解包完成.?

三 原理
BA的所有資源下載后都放在MediaPatch文件夾中,?
并通過一張JSON表(MediaCatalog.json)記錄和維護(hù), 并且沒有任何的加密.?
根據(jù)這張表的信息逐個還原資源原本的路徑和名稱即可解包,
具體過程可以參考extract.py的代碼內(nèi)容.
?(吐槽: 不過這張JSON表記錄的是文件CRC而不是HASH, 這年頭, CRC可真是個稀罕東西....)

四 引用
紅迪上的一位老哥提供的代碼:
reddit.com/r/BlueArchive/comments/ufw8v5/i_need_help_extracting_all_audio_files_from_blue/
【筆記】碧藍(lán)檔案資源解包方法【Blue Archive】的評論 (共 條)
