我试图用python3编写一个zip密码破解程序,我希望程序在找到密码时打印“foundpassword:password”。我这里的问题是,当它找到正确的密码时,它不会打印“foundpassword:password”,而是不断尝试列表中的其他单词“trying 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()
在
crackzip
函数中声明的zipname
在哪里?你知道吗try语句总是计算成这样的错误。你知道吗
相关问题 更多 >
编程相关推荐