ZIP 伪加密是只 仅仅 在文件头的加密标志位做修改,进而再打开文件时识被别为加密压缩包
一个 ZIP 文件由三个部分组成:压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志
压缩源文件数据区:
50 4B 03 04 | 这是头文件标记(0x04034b50) |
---|---|
14 00 | 解压文件所需 pkware 版本 |
00 00 | 全局方式位标记(有无加密) |
08 00 | 压缩方式 |
5A 7E | 最后修改文件时间 |
F7 46 | 最后修改文件日期 |
16 B5 80 14 | CRC-32 校验(1480B516) |
19 00 00 00 | 压缩后尺寸(25) |
17 00 00 00 | 未压缩尺寸(23) |
07 00 | 文件名长度 |
00 00 | 扩展记录长度 |
压缩源文件目录区:
50 4B 01 02 | 目录中文件文件头标记(0x02014b50) |
---|---|
3F 00 | 压缩使用的 pkware 版本 |
14 00 | 解压文件所需 pkware 版本 |
00 00 | 全局方式位标记(改为 09 00 即伪加密) |
08 00 | 压缩方式 |
5A 7E | 最后修改文件时间 |
F7 46 | 最后修改文件日期 |
16 B5 80 14 | CRC-32 校验(1480B516) |
19 00 00 00 | 压缩后尺寸(25) |
17 00 00 00 | 未压缩尺寸(23) |
07 00 | 文件名长度 |
24 00 | 扩展字段长度 |
00 00 | 文件注释长度 |
00 00 | 磁盘开始号 |
00 00 | 内部文件属性 |
20 00 00 00 | 外部文件属性 |
00 00 00 00 | 局部头部偏移量 |
压缩源文件目录结束标志:
50 4B 05 06 | 目录结束标记 |
---|---|
00 00 | 当前磁盘编号 |
00 00 | 目录区开始磁盘编号 |
01 00 | 本磁盘上纪录总数 |
01 00 | 目录区中纪录总数 |
59 00 00 00 | 目录区尺寸大小 |
3E 00 00 00 | 目录区对第一张磁盘的偏移量 |
00 00 | ZIP 文件注释长度 |