rar passwort knacker

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
acidk
User
Beiträge: 75
Registriert: Samstag 6. Januar 2007, 18:54
Wohnort: Braunschweig

Montag 30. Juli 2007, 12:14

Hallo Leute!
Ich möchte mir einen rar Passwortknacker basteln, der Wortlisten Wort für Wort
abarbeitet bis das entsprechende Passwort gefunden ist.

Ich hatte versucht die Wörterbuch Textdatei einzulesen, in eine for i in ... Schleife zu packen und eine codierte rar Datei zu öffnen (öffnen wird das Passwort ja normalerweise abgefragt). Das vergebene Passwort war inim Wörterbuch vorhanden. Funktioniert nur leider nicht.

Bin noch ein ziemlicher Anfänger - meine Fragen:
1)wie öffne ich von Python aus Winrar - und wie kann ich ein Passwort einlesen?
2)ist der Ansatz mit der for Schleife überhaupt richtig, oder bin ich hier voll auf dem Holzweg?
BlackJack

Montag 30. Juli 2007, 13:47

Ich würde nicht `WinRAR` sondern das Kommandozeilenprogramm benutzen. Das kann man zum Beispiel mit dem `subprocess`-Modul starten und das Passwort als Argument übergeben.

``for``-Schleife ist schon richtig. Wenn man über die Zeilen einer Datei iteriert, dann ist das Zeilenende-Zeichen am Ende jeder Zeile. Das wird aber wahrscheinlich nicht zu Deinem Passwort gehören, also musst Du es vorher entfernen. Zum Beispiel mit der `rstrip()`-Methode auf Zeichenketten.
acidk
User
Beiträge: 75
Registriert: Samstag 6. Januar 2007, 18:54
Wohnort: Braunschweig

Montag 30. Juli 2007, 14:22

BlackJack hat geschrieben:Ich würde nicht `WinRAR` sondern das Kommandozeilenprogramm benutzen. Das kann man zum Beispiel mit dem `subprocess`-Modul starten und das Passwort als Argument übergeben.
Wie macht man das? ... ich bin wirklich noch ganz am Anfang...

Vielen Dank!
BlackJack

Montag 30. Juli 2007, 14:55

Am einfachsten mit `subprocess.call()`. Ich habe mal ein `test.rar` angelegt, mit 'geheim' als Passwort.

Code: Alles auswählen

In [43]: import subprocess

In [44]: subprocess.call(['unrar', 't', '-pfalsch', 'test.rar'])

UNRAR 3.70 beta 3 freeware      Copyright (c) 1993-2007 Alexander Roshal


Testing archive test.rar

Testing     test.py                                                   99%
Encrypted file:  CRC failed in test.py (password incorrect ?)
Total errors: 1
Out[44]: 3

In [45]: subprocess.call(['unrar', 't', '-pgeheim', 'test.rar'])

UNRAR 3.70 beta 3 freeware      Copyright (c) 1993-2007 Alexander Roshal


Testing archive test.rar

Testing     test.py                                                   OK
All OK
Out[45]: 0
`subprocess.call()` gibt den Rückgabewert des Programms zurück, der per Konvention 0 ist, wenn das Programm problemlos lief. Wie man sieht hält sich `unrar` daran.
acidk
User
Beiträge: 75
Registriert: Samstag 6. Januar 2007, 18:54
Wohnort: Braunschweig

Montag 30. Juli 2007, 15:23

:D Vielen Dank! Werd`ich gleich mal heute abend ausprobieren!!!
Antworten