.pkg文件解包打包操作PKGDecode.exe和PKGEncode.exe

.pkg文件的格式

————————————————

[四字节] 固定的内容, 值不重要

[四字节] 文件数目(unsigned int)

[四字节] 文件名表 的偏移(unsigned int)

[四字节] 文件名表 的长度(字节数)(unsigned int)

……

中间一堆 各个文件的内容, 文件内容使用zlib压缩过

……

直到

文件名表:

[两字节] 文件名长度

[文件名长度那么多字节] 文件名

[四字节] 固定的内容,值不重要

[四字节] 文件原长度

[四字节] 文件偏移

[四字节] 文件压缩后的长度

[两字节] 又一个文件名的长度

————————————————

打包 PKGEncode.py/PKGEncode.exe

用法 python PKGEncode.py dirname pathname.pkg

python PKGEncode.py update\ update.pkg

用法 PKGEncode.exe dirname pathname.pkg

PKGEncode.exe objects\ objects.pkg


解包 PKGDecode.py/PKGDecode.exe

用法 python PKGDecode.py pathname.pkg dirname

python PKGDecode.py update.pkg tmp\

用法 PKGDecode.exe pathname.pkg dirname

PKGDecode.exe objects.pkg tmp\


打包成exe

pyinstaller -F PKGEncode.py -i 161.ico --noconsole

pyinstaller -F PKGDecode.py -i 161.ico --noconsole

下载地址:

https://gitee.com/qqWebChat/WeChatTools/tree/master/doc/pkg


标签:pkg 打包 解包