.zip Files BruteForcer с Python 3.8

#python #scripting #zip

#python #создание сценариев #zip

Вопрос:

Недавно я закодировал сам BruteForcer для zip-файлов, используя только Python с библиотекой Zipfile. Вот код:

 import zipfile

charlist = 'abcdefghijklmnopqrstuvwxyz'
complete = []

for current in range(4):
    a = [i for i in charlist]
    for x in range(current):
        a = [y   i for i in charlist for y in a]
    complete = complete   a

z = zipfile.ZipFile('test.zip')

tries = 0

for password in complete:
    try:
        tries  = 1
        z.setpassword(password.encode('ascii'))
        z.extract('test.txt')
        print(f'Password was found after {tries} tries! It was {password}!')
        break
    except:
        pass
  

Я также создал zip-файл под названием test.zip который имеет 4-символьное шифрование только со строчными буквами.
Ошибка заключается в том, что всякий раз, когда я запускаю его, независимо от того, где (я использую PyCharm IDE и Kali, но я пытался использовать VS Code), он возвращает это всплывающее окно «Процесс завершен с кодом выхода 0», что означает, что ПК обработал его, но ничего не вернул. Также print() не является проблемой, потому что предполагалось, что он создаст файл .txt, в котором будет пароль к файлу .zip, но он этого не сделал. Я ценю любой тип помощи.

Комментарии:

1. Ваш код работал просто отлично, когда я запускал его из командной строки. Он правильно нашел пароль.

2. Тогда почему это не работает для меня, Фрэнк?

3. Просто интересно, не является ли это чем-то неожиданным. Вы уверены, что имя файла внутри zip-файла является «test.txt «, и не пишется по-другому или внутри каталога? Ваш код можно было бы сделать немного безопаснее, только перехватывая RuntimeError (ошибка при неверном пароле), а не все возможные ошибки.

4. Да, это так, и как я должен его запустить, с помощью PyCharm или как? Как Вы его запустили? Он возвращает только ту же ошибку, что и ранее.

5. Фрэнк, просто потребовалось немного больше времени, чтобы ничего не возвращать, чем в предыдущие разы.