ZIP文件伪加密


ZIP文件伪加密

原创 已于 2026-05-08 10:57:26 修改 · 公开 · 402 阅读 · 12 · 3 · 本内容遵循CC 4.0 BY-SA版权协议 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 GEO检测 · 编辑
文章链接:https://blog.csdn.net/hacker_51/article/details/160876925

什么是 ZIP 文件

一个 ZIP 文件 由 三个部分组成:

压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志

压缩源文件数据区

数据区主要记录了压缩前后文件的元数据以及存放压缩后的文件,记录格式如下:

  1. 第0~3个字节:50 4B 03 04,代表了文件头标志

  2. 第4~5个字节:14 00,代表了解压文件所需的pkware版本

  3. 第6~7个字节:00 00,代表了全局方式位标记(用来判断有没有加密)

  4. 第8~9个字节:08 00,代表了压缩方式

  5. 第10~11个字节:1D 9B,代表了最后修改文件的时间

  6. 第12~13个字节:3D 56,代表了最后修改文件的日期

  7. 第14~17个字节:5A 48 63 5C,是zip文件的crc-32校验值

  8. 第18~21个字节:77 00 00 00,是文件压缩后的尺寸

  9. 第22~25个字节:B1 00 00 00,是文件未压缩前的尺寸

  10. 第26~27个字节:10 00,代表文件名长度

  11. 第28~29个字节:00 00,代表扩展记录长度

压缩源文件目录区

压缩源文件目录区是由一系列压缩源文件目录记录所组成,一条压缩文件目录记录对应数据区中的一个压缩文件记录,压缩源文件目录记录由以下部分构成:

1、第0~3个字节:50 4B 01 02,代表了目录文件头标记

2、第4~5个字节:02 3F,代表了压缩使用的pkware版本

3、第6~7个字节:14 00,代表了解压文件所需的pkware版本

4、第8~9个字节:00 00,代表了全局方式位标记(用来判断是否为伪加密)

5、第10~11个字节:08 00,代表了压缩方式

6、第12~13个字节:1D 9B,代表了最后修改文件的时间

7、第14~15个字节:3D 56,代表了最后修改文件的日期

8、第16~19个字节:5A 48 63 5C,是zip文件的crc-32校验值

9、第16~19个字节:77 00 00 00,是文件压缩后的大小

10、第24~27个字节:B1 00 00 00,是文件未压缩前的大小

11、第28~29个字节:10 00,代表文件名长度

12、第30~31个字节:00 00,代表扩展字段长度

13、第32~33个字节:00 00,代表文件注释长度

压缩源文件目录结束标志

1、第0~3个字节:50 4B 05 06,代表目录结束标记

2、第4~5个字节:00 00,代表当前磁盘编号

3、第6~7个字节:00 00,代表目录区开始磁盘编号

4、第8~9个字节:01 00,代表本磁盘上纪录总数

5、第10~11个字节:01 00,代表目录区中纪录总数

6、第12~15个字节:62 00 00 00,代表目录区尺寸大小

7、第16~19个字节:A5 00 00 00,代表目录区对第一张磁盘的偏移量

8、第20~21个字节:00 00,代表zip文件注释长度

题目思路与题解

zip伪加密原理:
zip伪加密是在文件头的加密标志位做修改,进而再打开文件时被识别为加密压缩包。

压缩源文件目录区(或数据区)全局方式位标记的 01 00 或 09 00 改为 00 00 就可以去除密码

压缩源文件目录区(或数据区)全局方式位标记的 00 00 改为 01 00 或 09 00 就可以添加密码提示。

例子:


觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭

微信二维码

wechat pay

支付宝二维码

ali pay

ZIP文件伪加密
http://blog.angindem.cn/2026/05/08/Angindem-CSDN博客/200_200/
作者
Angindem
发布于
2026年5月8日
许可协议