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 для этого типа задач
- Строка получила буквенно-цифровые строки для простоты