Python - Pynput 0000-9999 Schleife?
Hallo,
das ist eine Weiterführung dieser Frage:
"Bruteforce" Tool, das Zahlen eingibt?
Ich suche nach einem Tool, Programm etc. das einfach alle möglichen 4 Stellige PINS testet, ohne einmal Enter dazwischen zu drücken.
Ich habe mich für die Programmierung für Python entschieden und mich etwas schlau gelesen und bin auf Pynput gestoßen.
Ich habe schon etwas herum probiert und bin zu diesem Code gekommen:
from time import sleep
from pynput.keyboard import Key, Controller
keyboard = Controller() n = ["%.4d" % i for i in range(0,10000)]
keyboard.press(n) keyboard.release(n)
sleep(1.5)
keyboard.press('e')
keyboard.release('e')
Das Problem dabei: Mit Pynput kann man keine Variablen ausgeben lassen.
Die Variable 'n' ist dabei ein Array, das alle Zahlen von 0000 bis 9999 beinhaltet.
Ich habe auch schon probiert, sowas irgendwie unterzubringen, aber ohne Erfolg:
for i in range(10):
print('{:d}'.format(i).zfill(4))
Danke
1 Antwort
Die Variable 'n' ist dabei ein Array, das alle Zahlen von 0000 bis 9999 beinhaltet.
Nein, n ist eine Liste von Strings ("0000" bis "9999").
for i in range(10):
print('{:d}'.format(i).zfill(4))
Das tut dasselbe, nur eben mit format() statt %.
Das Problem dabei: Mit Pynput kann man keine Variablen ausgeben lassen.
Dann nimm doch einfach print().
Ich verstehe nicht, wo Dein Problem liegt. Geht es vielleicht darum, dass keyboard.press() keine String-Listen mag? Dann mach es so:
for s in n:
for c in s:
keyboard.press(c)
keyboard.release(c)
keyboard.press('\n')
keyboard.release('\n')
sleep(1)
in einer Schleife, die 10000-mal durchlaufen wird? Du scheinst viel Zeit zu haben ;)
Das ist als Brute-Force-Tool für die ARK S+ Mod gedacht, um so ein Panel zu brute-forcen. Immer wenn man eine falsche PIN eingibt, schließt sich das Panel, deshalb auch das 'e'. Die beiden sleeps sind jetzt auf 0.6 und 0.3. Schneller geht leider nicht. Aber es funktioniert. Wenn ich mal wieder Zeit dafür hab, bastel ich noch ein schönes GUI dazu...
0.6 und 0.3, also insgesamt "nur" 9000 Sekunden oder 2 1/2 Stunden. Wenn man nicht daneben sitzen muss, ist das ok.
Gibts noch ne Möglichkeit, die Schleife zu pausieren und später wieder ab dem Punkt zu starten?
Geht bestimmt irgendwie mit Threading. Das ist aber eine neue Frage!
Danke!
Es funktioniert jetzt, und ich muss nur noch etwas mit dem Timing und dem Pynput "Keylogger" rumprobieren, um das Skript zu starten.
Code: