首页 > 图灵资讯 > 技术篇>正文

关于压缩包伪加密的相关问题

2023-06-20 09:36:16

ZIP伪加密ZIP伪加密的特点

zip文件结构可分为三部分:

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

压缩源文件数据区全局方位标记压缩源文件数据区第7号是判断压缩包是否有伪加密的重要标志、第8两个字节09 00。ZIP压缩源文件数据区全局方位标记010 Editor在显示的文件结构中ushort frFlags

关于压缩包伪加密的相关问题_源文件

压缩文件目录区全局方位标记伪加密的关键是压缩文件目录区的第9个、第十个字节。ZIP压缩文件目录区全局方位标记010 Editor在显示的文件结构中ushort deFlags

关于压缩包伪加密的相关问题_源文件_02

  • 无加密ZIP:压缩源文件数据区全局方式位置标记应为00 00压缩源文件目录区全局方式位置标记应为00 00
  • 真正加密的ZIP:压缩源文件数据区全局方式位置标记应为09 00压缩源文件目录区全局方式位置标记应为09 00
  • 伪加密ZIP:压缩源文件数据区全局方式位置标记应为00 00压缩文件目录区全局方式位置标记应为09 00
如何破解ZIP伪加密
  • 第一种方法:直接修改:压缩文件目录区将整体模式位标记为偶数,即可解压
  • 第二种方法:有些压缩软件可以直接无视伪加密解压,例如:WinRAR、7zip、360压缩
  • 第三种方法:Java写的小工具ZipCenOp.jar,Java环境需要在cmd中运行java -jar ZipCenOp.jar r xxx.zip即可解压
RAR伪加密

RAR的伪加密原理与ZIP的伪加密原理相同,导致伪加密的关键在于指定的位标记字段。

PS:一般RAR伪加密的压缩包用WinRAR打开时会显示文件头损坏

RAR的第一个24也就是说,字节010 Editor在显示的文件结构中ubyte PASSWORD_ENCRYPTED修改其字段为字段1RAR伪加密可以实现。

关于压缩包伪加密的相关问题_源文件_03

或者修改第11也就是说,字节010 Editor在显示的文件结构中ubyte BLOCK_HEADERS_ENCRYPTED字段值。修改为1可导致RAR伪加密。

关于压缩包伪加密的相关问题_java_04

上一篇 安装oh-my-zsh报错fatal: gnutls_handshake() failed: Error in the pull function的解决办法
下一篇 实战:求年月日时间前后遇到的坑和解决方式

文章素材均来源于网络,如有侵权,请联系管理员删除。