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