2017-12-15 13 views
0

Ich brauche Hilfe beim Schreiben eines Skripts für Batch. Ich habe das Passwort für eine Datei vergessen, es ist ein einfaches Passwort 4 Zeichen (1234, asdf, qwer).Batch-Schleife für das Passwort

die Befehlszeile ist dies: C: \ Benutzer \ DB> \ open.exe --file = db1.bin --password = asdf Protokollierung. C: \ Benutzer \ DB \ open.log Fehler : konnte nicht geladen werden: ungültiges Passwort

Ich habe es geschafft, eine Liste von Passwörtern (pass.txt) zu generieren, da die Nummer entweder die erste oder die letzte in der Zeichenfolge ist und nur Kleinbuchstaben, aber trotzdem paar Tausende. Gibt es eine Möglichkeit, dies zu automatisieren? Ich bin ziemlich noob in Scripting/Programmierung. Jede Hilfe wird geschätzt.

Danke,

+0

Das Passwort ist **** –

+0

Sie können eine 'FOR/F 'Befehl die Kennwortliste zu lesen, und legen Sie das als Variable in Ihrem Befehl. – Squashman

Antwort

0

Um über eine Textdatei zu iterieren, verwenden Sie eine for /f Schleife.

for /f %%A in (pass.txt) do open.exe --file=db1.bin --password=%%A 

Wenn Sie es möchten, wo Sie in der Datei, fügen Sie ein echo sind zu verfolgen.

for /f %%A in (pass.txt) do (
    echo Now trying %%A 
    open.exe --file=db1.bin --password=%%A 
) 
+0

Glücklich zu helfen. Wenn meine Lösung für Sie arbeitete, klicken Sie bitte das Häkchen neben meiner Antwort. – SomethingDark

+0

nur optional, kann eine Zeile zum Skript hinzugefügt werden, die zeigt, welches Passwort verwendet? Verwenden: asdf –

+0

@RamonaBota - Fertig – SomethingDark

0
@echo off 
(
for %%a in (0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
    for %%b in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
    for %%c in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
    for %%d in (0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
    echo(%%a%%b%%c%%d 
    ) 
    ) 
) 
) 
)>pass.txt 

braucht etwa eine halbe Minute, alle möglichen 808.496 Passwörter

{letter | number}{letter}{letter}{letter | number} 

wo beginnen nur zu erzeugen, oder es kann Ende eine Zahl) sein. Wenn beide Anfang und Ende eine Zahl sein könnten, überspringen Sie einfach die letzten zwei Zeilen (876096 Passwörter)

+0

Vielen Dank, ich schätze den Aufwand, jedoch habe ich die Liste bereits mit einem Programm erstellt, das Problem besteht darin, die * .exe mit jedem Passwort auszuführen, bis das korrekte Passwort gefunden ist. open.exe --file = db1.bin --password = (zeilenweise von pass.txt). Ich brauche einen Weg, dies zu automatisieren. –

+0

Stephan gab dir die Antwort. Ersetzen Sie die Zeile 'echo (%% a %% b %% c %% d' mit Ihrer Befehlszeile. – jwdonahue

+0

Es tut mir leid entweder ich verstehe nicht, entweder ist etwas falsch, ersetzt echo (%% a %% b% % c %% d löst mein Problem nicht, ich möchte die Eingabeliste nicht neu generieren, wie ich bereits habe, meins ist etwas kürzer, da ich weiß, dass das Passwort auch keine doppelten Buchstaben enthält. "open.exe --file = db1.bin --password = Hier muss ich ein Passwort aus der input.txt " –

Verwandte Themen