原理

zip伪加密是在文件头的加密标志位做修改,进而再打开文件时识被别为加密压缩包。

一个 ZIP 文件由三个部分组成:

压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志

实例:

如图所示:

想法

如果把一个压缩包的文件头和加密标志位进行适当修改,那就可能会改变文件的可读性。

  1. 如果改变压缩源文件数据区的全局方式位标记 既【第一个全局方式位标记】 :结果会出现不会出现zip伪加密。
  2. 如果改变压缩源文件目录区的全局方式位标记 既【第二个全局方式位标记】(修改为09 00 这个数字可以不是9只要是奇数就好) :结果会出现zip伪加密【只要末位是奇数,就代表加密,反之,末位是偶数代表未加密】
  3. 如果修改zip文件头(50 4B 03 04)修改成其他数据 :结果出现压缩包损坏,导致文件无法解压。

综上所述【总结】

  • 无加密

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

  • 伪加密

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

  • 真加密

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

最后修改:2022 年 06 月 28 日
如果觉得我的文章对你有用,请随意赞赏