Ich habe gerade neu angefangen mit Python habe vorher nur in der Schule kleinere Spiele programmiert wie z.b Frogger oder 4 gewinnt.
Jetzt will ich mich intensiver mit Python befassen und habe mir als 1. Aufgabe gesetzt ein Programm zu schreiben das durch ausprobieren ein Passwort knacken kann (hier KeePass).
Folgend ist der Quelltext.
Meine Frage dazu ist einmal was kann ich verbessern? brauche keine fertigen quelltexte sondern nur Themen mit denen ich mich beschäftigen sollte um meinen Text zu verbessern.
Und zweitens wie bekomme ich jetzt hin, dass nachdem die Zahlen 1-0 ausprobiert wurden, die zahlen 10-99 folgen oder bzw bis ins unendliche oder das Passwort gefunden wurde.
Code: Alles auswählen
import time
import win32com.client
import os
#einfache Liste möglicher Eingaben länge 88
Liste = ["1","2","3","4","5","6","7","8","9","0"]
# variable für Liste
x=0
a=0
def Eingabe():
global x
shell.SendKeys (Liste[x])
x=x+1
shell.SendKeys ("{ENTER}")
time.sleep(1)
shell.SendKeys ("{ENTER}") #Enter zum Bestätigen der Fehlermeldung weil das Passwort falsch war (keine Probleme falls es richtig war)
time.sleep (2)
if shell.AppActivate("Open Database") == False:
print (Liste[x-1]) # Ausgabe pw
return
shell.SendKeys (Liste[x])
x=x+1
shell.SendKeys ("{ENTER}")
time.sleep(1)
shell.SendKeys ("{ENTER}") #Enter zum Bestätigen der Fehlermeldung weil das Passwort falsch war (keine Probleme falls es richtig war)
time.sleep(2)
if shell.AppActivate("Open Database") == False:
print (Liste[x-1]) #Ausgabe pw
return
os.system("taskkill /im KeePass.exe") #kein Fund --> killen vor dem 3. Fehler, da sich sonst das Programm öffnet jedoch ohne Datei
def komplett():
global shell
#WScript starten (Was ist WScript?)
shell = win32com.client.Dispatch("WScript.Shell")
#KeePass starten (richtige Datei ist schon Standard)
shell.Run("file:///C:/Program%20Files%20(x86)/KeePass%20Password%20Safe%202/KeePass.exe")
#warten bis gestartet
while shell.AppActivate("Open Database") == False:
time.sleep (0.5)
Eingabe()
#--------------PROGRAMM---------------------------#
for i in range (6):
komplett()
time.sleep(3)