本文純屬學習之用,如拿此代碼用于商業,與本人無關.
代碼是自己寫的,寫得爛,有很多改進的地方.
起始字節-結束字節
1-4 |
64 00 00 00 文件頭 |
5-8 |
4字節,文件個數 (把一個pkg文件后面的文件列表數了下,確實是文件個數) |
9-12 |
4字節,文件列表區的偏移地址(通過比較兩個pkg文件,確實是偏移地址) |
13-16 |
4字節,文件列表區的大小,其實就是從上一面的偏移地址到文件末尾
|
分析文件列表區數據,文件名長度是不等長的,這樣讀取文件列表時,就從頭讀過去,根據標志位來確定。
下面是每條文件記錄的各項屬性:
1 - 2 |
接下來的字符串的長度,也就是文件名路徑的字符串長度
|
3 - X |
帶相對路徑的文件名稱(說明:X是文件名稱結束的偏移位置)
|
X - X+4 |
00 00 00 00 識別標志
|
X+5 - X+8 |
文件起始偏移 |
X+9 - X+12 |
原始文件大小 |
X+13 - X+16 |
文件大小 |
說明:直接從PKG里面解出來的圖片文件(主要是MIF格式的)是經過zlib壓縮過的,必須要解壓后才能使用。
解壓我們只要用到了zlib的uncompress函數就行了。
工具源代碼下載 : PkgManager.rar
參考資料:http://www.vbgood.com/viewthread.php?tid=87382&extra=page%3D1