一个 ZIP 文件由三个部分组成:
50 4B 03 04:这是头文件标记(0x04034b50) 14 00:解压文件所需 pkware 版本 00 00:全局方式位标记(有无加密) 08 00:压缩方式
50 4B 01 02:目录中文件文件头标记(0x02014b50) 14 00:压缩使用的 pkware 版本 14 00:解压文件所需 pkware 版本 00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了)
50 4B 05 06:目录结束标记 00 00:当前磁盘编号 00 00:目录区开始磁盘编号 01 00:本磁盘上纪录总数 01 00:目录区中纪录总数
2.zip为 存在密码 全局方式位标记 在 (压缩源文件数据区 , 压缩源文件目录区) 都为 09 00
如果做成 伪加密 , 只有 压缩源文件目录区 为 09 00
压缩源文件数据区的全局加密应当为00 00 且压缩源文件目录区的全局方式位标记应当为09 00
只是 所选位 00 00 -> 09 00
java -jar ZipCenOp.jar <option> <file> option: r : recover a PKZip e : do a fake encryption
zip2john 1.zip > pass # 获取压缩包哈希值 john pass # 破解密码
测试 压缩包 密码即名字