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

ZIP伪加密

ZIP伪加密的特征

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

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

压缩源文件数据区中的全局方式位标记是判断压缩包有无伪加密的重要标志,即压缩源文件数据区的第7、第8两个字节09 00。ZIP的压缩源文件数据区全局方式位标记010 Editor显示的文件结构中即为ushort frFlags
在这里插入图片描述
压缩文件目录区全局方式位标记是进行伪加密的关键,即压缩文件目录区的第9、第10两个字节。ZIP的压缩文件目录区全局方式位标记010 Editor显示的文件结构中即为ushort deFlags
在这里插入图片描述

  • 无加密的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字段,修改其字段为1即可实现RAR伪加密。
在这里插入图片描述
或者修改第11个字节,也就是010 Editor显示的文件结构中的ubyte BLOCK_HEADERS_ENCRYPTED字段的值。修改为1即可造成RAR伪加密。
在这里插入图片描述

  • 10
    点赞
  • 35
    收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

末初mochu7

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值