提取植物大戰僵屍靜態資源


  • macOS High Sierra系統 10.13.6

PVZ靜態資源路徑

大部分App的靜態資源都在其包內容的Resources里面。PVZ的Resources如下圖。

image-20210502103917488

這里只有箭頭和logo一類東西,沒有圖片、音頻等文件。圖片和音頻都壓縮在了main.pak這個文件里面。

Pak文件

Pak文件就是將多個文件打包為一個文件,這個文件中直接保存着多個資源文件及其描述結構。

植物大戰僵屍的Pak文件是逐字節異或了0xf7進行加密。詳細的過程可以參見這篇博客

Mac下解析main.pak文件

如果有想要看相關理論和源碼可以看這篇博客,Mac和Linux沒太大區別。我在Gitee上創建了一個開源項目,用C++重寫了這些代碼並提供了一定的封裝。

一、基於命令行的文件解析

1. 安裝相關軟件工具

在解析之前,需要安裝C/C++編譯的相關軟件和工具。MacOS可以通過Xcode進行安裝。

2. 下載開源項目並進入pvz_resourses_parser目錄。

$ git clone https://gitee.com/xuanyusan/pvz_resourses_parser.git

3. 通過 make 命令得到可執行文件文件。

$ make

4. 把 main.pak 文件拷貝到當前文件夾下,或者使用項目提供的文件,通過 make parse 命令進行解析。

$ make parse

5. 如果需要播放MO3格式的音頻文件,可以執行 make installMo 安裝相關依賴。

$ make installMo

6. 通過 unmo3 解析成XM格式,然后利用mikmode播放器播放。

$ unmo3 files/sounds/mainmusic.mo3 
$ mikmod files/sounds/mainmusic.xm

二、基於應用程序的文件解析

目前這個項目在Gitee上的發行版僅供文件解析,不具備播放音樂等其他功能。發行版可能還會有一些Bug。

這里提供一下下載鏈接

下載之后進行解壓,放入Application目錄下即可使用。第一次打開需要驗證,建議驗證完重啟應用進行使用,不然可能會出現一些權限問題。

image-20210503233239090

應用如圖,UpLoad處選擇本地的main.pak文件,SavePath選擇要保存的路徑。點Analysic進行解析,點Clear會清除一些中間結果。按鈕右邊是解析日志。解析的文件最后會以一個名為files文件夾的形式保存到SavePath下,需要保證SavePath下沒有名為files的文件或文件夾。

image-20210503233902770

PVZ靜態資源解析結果

如果想要直接獲取所有的資源可以通過PVZ靜態資源鏈接獲取。

一、PVZ字體

img

二、PVZ圖片

img

三、PVZ音頻


免責聲明!

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



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