Python Winzip Password Tester без словаря

Я пытаюсь создать взломщик файлов Winzip без атаки по словарю (Для эссе о безопасности пароля). Необходимо прокрутить итерацию "комбинации", пробуя каждую комбинацию, пока не будут найдены пароли. Так близко к завершению, но в настоящее время требуется ввод пароля в виде одной строки, которую требуется преобразовать в байты, тогда как мне нужно попробовать каждый вывод комбостальта.

Спасибо заранее за любую помощь

Я сохранил его в песочнице https://onlinegdb.com/ryRYih2im

Ссылка на файл находится здесь https://drive.google.com/open?id=1rpkJnImBJdg_aoiVpX4x5PP0dpEum2fS

Нажмите для скриншота

1 ответ

Простой взломщик паролей

from itertools import product
from zipfile import ZipFile, BadZipFile
import string

def find_pw():
    pw_length = 1
    while True:
        s = string.ascii_lowercase
        for x in product(s, repeat=pw_length):
            pwd = "".join(x)
            with ZipFile("test.zip") as zf:
                try:
                    zf.extractall(pwd=bytes(pwd, "UTF-8"))
                    print("Password is {}".format(pwd))
                    return
                except RuntimeError as e:
                    pass
                except BadZipFile as e:
                    pass
        pw_length += 1
  • нам нужен itertools.product для этого типа задач
  • Строка получила буквенно-цифровые строки для простоты
Другие вопросы по тегам