关于zip伪加密
通过修改zip的16进制文件中加密标志位,达到查看文件要求输入密码但并没有设置密码,即伪加密(并没有真的对其加密)的目的,这里就整理分析一下zip文件的结构,和解决zip伪加密问题的下手部位。
zip文件的组成
zip文件由3部分组成,分别是压缩源文件数据区,压缩源文件目录区,压缩源文件目录结束标志。
压缩源文件数据区
用于记录文件的文件头结构,文件数据和数据描述符。
怎么找这个区呢?winhex打开后可以去找文件头标记,很容易找到。
50 4B 03 04 —-压缩源文件数据区的文件头标志
14 00 —-解压所需pkware版本
00 08 —-全局方式位标记
…………这里不一一分析了,关键的在压缩源文件目录区
压缩源文件目录区
50 4B 01 02 —-目录中文件文件头标记
3F 00 —-压缩所使用的pkware版本
14 00 —-解压所需pkware版本
00 01 —-全局方式位标记(伪加密的关键所在,末位改为奇数,就进行了伪加密)
08 08 —-压缩方式
00 58 —-最后修改文件时间
压缩源文件目录结束标志
50 4B 05 06 —-目录结束标记
00 00 —-当前磁盘编号
00 00 —-目录区磁盘编号
01 00 —-本磁盘上记录总数
………………
下面是一个伪加密过的zip文件的winhex打开。上面分析的就是这个数据。将框内00 01改为00 00就可以正常打开了。
ZIP是PKWARE公司开发的一种压缩格式,以这种ZIP格式压缩的文件称为ZIP文件。