Я сделал атаку по словарю для зашифрованных ZIP-архивов, используя библиотеку . Когда я начал использовать словари BIG, иногда я получал ложноположительные результаты, т. Е. Пароль мог быть «шерстью» и «12630» считался правильным. В этом случае дешифрованный файл, очевидно, содержит тарабарщину.zipfile модуль, дающий ненадежные результаты
Это не ошибка в моем коде, но в способе, в котором находится . Проверка проверяет, установлен ли предоставленный пароль. Мне удалось уменьшить ложные срабатывания, проверив размер расшифрованного файла, и если он равен 0, считайте его ложным и продолжайте поиск. Но моя проблема остается, потому что, когда в файле содержится тарабарщина, это размер> 0. Так что мой вопрос: есть ли способ, который я могу определить в Python, если файл был дешифрован правильно или если он содержит тарабарщину?
PS. Да, я знаю, что дешифрование zip-файлов с zipfile
работает медленно, но, как я сказал ранее, я делаю это, чтобы получить доступ к Python.
Вот мой код:
import zipfile
import os
zfile=raw_input("Please input zip's file name\n")
diction=raw_input("Please input dictionary\n")
found = False
zipf = zipfile.ZipFile(zfile, 'r')
f = open(diction, 'r')
for line in f:
pswd = line
pswd = pswd[:-1]
zipf.setpassword(pswd)
try:
zipf.extractall()
if (os.path.getsize(zfile[:-4]) != 0):
found = True
break
except RuntimeError:
continue
except Exception:
continue
zipf.close()
This является сообщением об ошибке я занесена в багтрекере питона. Как вы можете видеть, они не считают «ошибкой» библиотеки, поэтому я прошу альтернативы проверки правильности дешифрования файла.
PS. Для тех, кого это касается, в приведенной выше ссылке, они сказали мне, что это проблема формата zip-файла и что ничего не может быть сделано. Поэтому, я думаю, вопрос ответил.
Если вы утверждаете, что у python zipfile есть ошибка, я думаю, вы должны сообщить об этом в трекер ошибок python. – mouad
У меня уже есть и что Натан наклеил их ответ. Вид напоминает «это не ошибка, это особенность». Вот почему я прошу выяснить, поврежден ли дешифрованный файл или нет. – Erethon
Существуют случаи, когда неправильный пароль не создает исключение? – jfs