ZIP伪加密解析

发布时间 2023-09-21 22:28:40作者: 飞越三万尺

ZIP伪加密解析

1、zip组成

一个 ZIP 文件由三个部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志。

一个zip文件由这样三个部分组成_zip 文件结构_一只独孤的程序猿的博客-CSDN博客

2、实例

压缩源文件数据区:
50 4B 03 04:这是头文件标记(0x04034b50)
14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密) 头文件标记后2bytes
压缩源文件目录区:

50 4B 01 02:目录中文件文件头标记(0x02014b50)

3F 00:压缩使用的 pkware 版本

14 00:解压文件所需 pkware 版本
00 00:全局方式位标记(有无加密,伪加密的关键) 目录文件标记后4bytes
压缩源文件目录结束标志:
50 4B 05 06:目录结束标记

3、全局方式位标记

全局方式位标记的四个数字中只有第二个数字对其有影响,其它的不管为何值,都不影响它的加密属性!
第二个数字为奇数时 –>加密
第二个数字为偶数时 –>未加密

4、辨别zip是真加密还是伪加密

1)无加密

压缩源文件数据区的全局加密应当为00 00 (504B0304两个bytes之后)
且压缩源文件目录区的全局方式位标记应当为00 00(504B0304四个bytes之后)

2)伪加密

压缩源文件数据区的全局加密应当为00 00
且压缩源文件目录区的全局方式位标记应当为09 00

3)真加密

压缩源文件数据区的全局加密应当为09 00
且压缩源文件目录区的全局方式位标记应当为09 00 !