原理
zip伪加密是在文件头的加密标志位做修改,进而再打开文件时识被别为加密压缩包。
一个 ZIP 文件由三个部分组成:
压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志“
实例:
如图所示:
想法
如果把一个压缩包的文件头和加密标志位进行适当修改,那就可能会改变文件的可读性。
- 如果改变压缩源文件数据区的全局方式位标记 既【第一个全局方式位标记】 :结果会出现不会出现zip伪加密。
- 如果改变压缩源文件目录区的全局方式位标记 既【第二个全局方式位标记】(修改为09 00 这个数字可以不是9只要是奇数就好) :结果会出现zip伪加密【只要末位是奇数,就代表加密,反之,末位是偶数代表未加密】
- 如果修改zip文件头(50 4B 03 04)修改成其他数据 :结果出现压缩包损坏,导致文件无法解压。
综上所述【总结】
- 无加密
压缩源文件数据区的全局加密应当为00 00
且压缩源文件目录区的全局方式位标记应当为00 00
- 伪加密
压缩源文件数据区的全局加密应当为00 00
且压缩源文件目录区的全局方式位标记应当为09 00
- 真加密
压缩源文件数据区的全局加密应当为09 00
且压缩源文件目录区的全局方式位标记应当为09 00