植物大戰僵尸是09年非常風靡的一款游戲。雖然是2D畫面,但是其游戲性、畫面的輕松可愛、恰到好處的音效使人愛不釋手。
最近想做一款類似的游戲,想先暫用其圖像資源與音樂資源來,而專注于游戲程序編寫本身。發現其所有的資源都打包在main.pak包中。經過一番努力,終于從中提取到所有的png圖像1800多張,ogg格式音樂文件300余首。現在將整個過程簡要說明。
1)該main.pak經過了加密。其實只是通過0XF7進行了一個簡單的xor運算。通過對源文件進行xor運算可以得到未加密的資源文件。我們這里叫做mainbak.pak。
2)寫一個程序將mainbak.pak讀取,然后在文件(二進制)中查找png和ogg文件格式的特征碼(魔數)。循環讀取,就可以獲取所有的資源了。
附:
png文件格式開頭:0x89 0x50 0x4E 0x47
png文件格式結尾:0x49 0x45 0x4E 0x44 后面還有四位CRC,不過選取這四位標示結尾就可以了。算文件長度的時候記得加上四位CRC就可以了。
ogg魔數:0x4F 0x67 0x67 0x53 0x00 0x02 0x00 0x00 0x00 0x00
enjoy it !