write up 加密:zip伪加密

ZIP 文件的组成:

压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志
 
 Winhex打开:write up 加密:zip伪加密 或者 Hex Comparison打开:write up 加密:zip伪加密
 对比了一下这两个工具,用Winhex打开更容易找的对应的十六进制标识

1.压缩源文件数据区:

文件头标记:50 4B 03 04
解压文件所需pkware版本: 14 00
全局方式位标记: 09 00

2.压缩源文件目录区:

目录文件头标记: 50 4B 01 02
压缩使用的 pkware 版本 :1F 00
解压文件所需 pkware 版本 :14 00
全局方式位标记:09 00

这里就是伪加密的关键,可以通过修改 09 为 00来解密

3.压缩源文件目录结束标志

目录结束标记:50 4B 05 06

测试

1.伪加密,修改09为00可得到完整文件
write up 加密:zip伪加密
真加密:修改09为00时虽然解密但是文件损坏
write up 加密:zip伪加密
未加密:
write up 加密:zip伪加密

总结

经过测试,发现只要在压缩源文件目录区
50 4B 01 02 yy yy 14 00之后的0x 00,x为奇数表示加密,偶数表示未加密如果是伪加密,只需将x改为偶数即可得到完整文件,但是如果为真加密将得到损坏文件。

参考:入口