【问题标题】:Invalid compressed data in zipzip 中的压缩数据无效
【发布时间】:2017-05-17 02:54:02
【问题描述】:

因此,作为一个班级项目,我试图构建一个简单的存档破解器。我只是通过外壳调用unzip(使用popen)并遍历动态生成的单词列表。

无论如何,我使用密码“hunter”设置了一个测试存档。现在我用更简单的密码检查了我的程序,我知道它可以工作。然而,对于很多“长”密码,该实用程序会给出一个奇怪的错误。所以我尝试了,在上述存档的情况下,手动输入以下密码:

  • “pass” - 密码对话框重新打开,表明密码不正确。
  • "hunter" - 压缩包的内容在目标文件夹中解压。
  • “dacbe” - 我收到错误消息“无法将 test.zip 扩展为“项目”(错误 2 - 没有此类文件或目录),或者如果通过终端完成,则出现“要膨胀的压缩数据无效”。

所以我想也许是我切换到 Unarchiver 的实用程序有问题,同样的问题与相同的密码字符串。切换了不同的第三方实用程序,同样的问题是“错误处理时出错”。

为什么某些密码会出现这种情况?

我正在运行 macOS 10.12

【问题讨论】:

    标签: c++ zip compression


    【解决方案1】:

    Unzip 对输入的密码故意设置了一个弱过滤器,以检查其有效性。仅检查一个字节的解密数据,因此随机密码有 1/256 的机会通过该检查并继续解压缩。正如您所发现的那样,在这种情况下,解压缩将很快检测到错误的密码。

    【讨论】:

      猜你喜欢
      • 2020-07-04
      • 1970-01-01
      • 2018-01-25
      • 1970-01-01
      • 2016-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      相关资源
      最近更新 更多