Seite 1 von 1

rar passwort knacker

Verfasst: Montag 30. Juli 2007, 12:14
von acidk
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?

Verfasst: Montag 30. Juli 2007, 13:47
von BlackJack
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.

Verfasst: Montag 30. Juli 2007, 14:22
von acidk
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!

Verfasst: Montag 30. Juli 2007, 14:55
von BlackJack
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.

Verfasst: Montag 30. Juli 2007, 15:23
von acidk
:D Vielen Dank! Werd`ich gleich mal heute abend ausprobieren!!!