zip解密

ZIP伪加密解析

1、zip组成

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

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

2、实例

image-20250325214500352

压缩源文件数据区:
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之后)

image-20250325214526426

2)伪加密

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

image-20250325214543233

3)真加密

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

image-20250325214601988

例题

把压缩包拖到winhex里打利用WinHex搜索,快速定位到目录区头文件标记处开,50 4B 03 04,这是压缩源文件数据区头文件标记,50 4B 01 02,这是压缩源文件目录区头文件标记,以50为第一处,找到第9、10处数值位置,第9处数值如果是奇数就代表有密码,偶数代表无密码

image-20250325214615992

第九位是偶数属于伪加密

image-20250325214622902

把09 00 改成00 00保存后就能打开了


zip解密
http://example.com/2023/12/10/zip解密/
Author
chaye
Posted on
December 10, 2023
Licensed under