QQ游戏的PKG格式文件解压工具

简介: 直接从PKG里面解出来的图片文件(主要是MIF格式的)是经过zlib压缩过的,必须要解压后才能使用。解压我们只要用到了zlib的uncompress函数就行了。
代码是自己写的,写得烂,有很多改进的地方.


起始字节-结束字节
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

目录
相关文章
|
API Windows
NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版
原文:NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版 nsis中文版(Nullsoft Scriptable Install System)是一个专业的开源的可以用来封闭Windows程序的实用工具,是一个开源的 Windows 系统下安装程序制作程序。
4102 0
|
5月前
androidStudio模块源码上传与下载
androidStudio模块源码上传与下载
26 0
|
8月前
|
数据采集 数据安全/隐私保护 C++
通过C++和libcurl下载网易云音乐音频文件的5个简单步骤
本文将介绍如何通过C和libcurl库下载网易云音乐的音频文件。我们将通过5个简单步骤完成这个任务,同时会使用爬虫代理IP技术来绕过这些网络限制,确保下载的顺利进行。为此,我们将参考爬虫代理的域名、端口、用户名和密码进行设置。网易云音乐作为一个不断发展的音乐平台,其丰富的资源和智能化服务将持续吸引大量用户,而掌握如上所述的下载技巧也将助力开发者更好地利用这些资源。
114 0
通过C++和libcurl下载网易云音乐音频文件的5个简单步骤
|
8月前
使用 responseentity进行文件的下载
使用 responseentity进行文件的下载
232 0
|
机器人 Python
在阿里云RPA中,获取下载的文件
在阿里云RPA中,获取下载的文件
373 2
|
数据安全/隐私保护 Python
Python抖音视频去水印,并打包成exe可执行文件
Python抖音视频去水印,并打包成exe可执行文件
432 0
|
iOS开发 MacOS
mac电脑如何用命令打开或压缩rar文件包 - 草稿
工作中总是会遇到压缩包是rar格式的,mac系统默认支持解压和压缩zip文件,但不支持rar格式的,今天尝试了下用命令解压,顺便记录一下,分享给需要的人。
mac电脑如何用命令打开或压缩rar文件包 - 草稿
|
编译器 Linux Windows
NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包
NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包
NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包

热门文章

最新文章