因此,作为一个类项目,我试图构建一个简单的存档破解程序。我只是通过shell调用unzip
(使用popen
)并迭代动态生成的单词列表。
无论如何,我使用密码" hunter"设置了一个测试档案。现在我用更简单的密码检查了我的程序,我知道它有效。然而对于很多" long"密码,该实用程序给出了一个奇怪的错误。所以我尝试在上述存档的情况下手动输入以下密码:
所以我想也许是故障的实用程序我切换到Unarchiver,同样的问题与相同的密码字符串。切换了一个不同的第三方实用程序,同样的问题是错误正在"重新运行错误"。
为什么某些密码会发生这种情况?
我正在运行macOS 10.12
答案 0 :(得分:1)
Unzip对输入的密码进行了故意弱过滤,以检查其是否有效。只检查一个字节的解密数据,因此随机密码有1/256的机会通过该检查并继续解压缩。正如您所发现的,在这种情况下,解压缩很快就会检测到错误的密码。