Passwortcracker für Zip-Archiv funktioniert nicht
Verfasst: Freitag 18. November 2016, 13:07
Hallo werte Community,
folgendes Program zum cracken von Zip-Archiven liegt vor:
Dem Code nach erwarte ich das der try-Block vollständig ausgeführt wird sobald 'zip.extractall(pwd=str.encode(pwd))' ein passendes Passwort ermittelt. Somit also print('Sucess: Password is ' + pwd) ausgeführt wird, die Variable boolean auf globaler Ebene True gesetzt wird und in der main durch die Bedingung if boolean==True: sys.exit() das gesamte Programm beendet wird. Dies geschieht jedoch nicht, es werden ganz stumpf alle Buchstabenkombinationen durchprobiert. Wo liegt mein Denkfehler? Würde mich sehr freuen, wenn mir hier jemand weiterhelfen kann.
folgendes Program zum cracken von Zip-Archiven liegt vor:
Code: Alles auswählen
# -*- coding: utf-8 -*-
import zipfile
import itertools
import string
import sys
from threading import Thread
boolean = False
zipFile = zipfile.ZipFile("C:/Users/T510a/Desktop/Python.zip")
def crack(zip, pwd):
print(pwd)
try:
zip.extractall(pwd=str.encode(pwd))
print('Sucess: Password is ' + pwd)
global boolean
boolean = True
except Exception:
pass
if __name__ == "__main__":
myLetters = string.ascii_letters + string.digits + string.punctuation
for i in range(1,6):
for j in map(''.join, itertools.product(myLetters,repeat=i)):
if boolean==True:
sys.exit()
t = Thread(target=crack, args=(zipFile, j))
t.start()