閱讀396 返回首頁    go 阿裏雲 go 技術社區[雲棲]


QQ遊戲的PKG格式文件解壓工具

代碼是自己寫的,寫得爛,有很多改進的地方.14.gif


起始字節-結束字節
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

最後更新:2017-10-30 10:04:25

  上一篇:go  加班越久故障越多,如何跳出程序員的惡性循環?
  下一篇:go  阿裏雲雙11訪談之數據智能