Почему мой скрипт не печатает найденный пароль?вместо этого он просто продолжает пробовать другие пароли - PullRequest
0 голосов
/ 20 апреля 2019

Я пытаюсь закодировать взломщик паролей в Python 3, я хочу, чтобы программа выводила «Found password: password», когда находит пароль.Моя проблема здесь в том, что он не печатает «найденный пароль: пароль», когда находит правильный пароль, он просто продолжает пробовать другие слова в списке «Попытка пароля: пароль»

from zipfile import ZipFile
import zipfile
import threading
import sys

filename = input("Enter File to crack: ")
wordlist = input("Enter wordlist: ")

def crackzip(filename, password):
    try:
        zipname.extractall(pwd=password)
        print ('Found password: {}'.format(password.encode('utf-8')))
        sys.exit(0)
    except:
        print ("Trying Password: {}".format(password))

def principio():
    try:
        zipname = zipfile.ZipFile(filename)
    except zipfile.BadZipfile:
        print ("File doesn't exist!")
    except FileNotFoundError:
        print ("No such file or directory")

    try:
        with open(wordlist, 'r') as f:
            passlist = f.readlines()
    except IOError:
        print ("File NOT found!")

    for passwords in passlist:
        password = passwords.strip(b'\n')
        t = threading.Thread(target=crackzip, args=(filename, password))
        t.start()

if __name__ == "__main__":
    principio()

1 Ответ

0 голосов
/ 20 апреля 2019

Где ваш zipname объявлен внутри функции crackzip?

Оператор try всегда оценивается как ошибка.

import threading
import sys

filename = input("Enter File to crack: ")
wordlist = input("Enter wordlist: ")

def crackzip(zipname, password):
    try:
        zipname.extractall(pwd=password)
        print ('Found password: {}'.format(password.encode('utf-8')))
        sys.exit(0)
    except:
        print ("Trying Password: {}".format(password))

def principio():
    try:
        zipname = zipfile.ZipFile(filename)
    except zipfile.BadZipfile:
        print ("File doesn't exist!")
    except FileNotFoundError:
        print ("No such file or directory")

    passlist = []

    try:
        with open(wordlist, 'r') as f:
            passlist = f.readlines()
    except IOError:
        print ("File NOT found!")

    for passwords in passlist:
        password = passwords.strip(b'\n')
        t = threading.Thread(target=crackzip, args=(zipname, password))
        t.start()

if __name__ == "__main__":
    principio()
...