Python Script zum Entpacken von Archivdateien mit Zuhilfenahme einer Password Liste

Moin, da es ja in diversen Foren diverse Passwörter gibt, habe ich mittlerweile eine gigantische Passwort Liste.
Nun habe ich beim Aufräumen noch alte 8 TB Platten gefunden, auf denen noch eine Menge Archive mit PW Schutz darauf sind.
Mit Jdownloader konnte ich bereits einige entpacken, dabei ist mir die Idee gekommen, das müsste man doch auch mit Python machen können!
Am besten mit Ausgabe der Archive und des dazugehörigen PW in einer Textdatein und an einen Ort meiner Wahl

Herausgekommen ist dank ChatGPT das

Python:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!

Leider funktioniert das bis jetzt nicht so, wie es soll und ChatGPT ist nicht in der Lage, es zu fixen.

Was tut es?

1. Eine GUI aufbauen, in der ich als Erstes die Liste mit den Passwörtern lade
2. Die Archivdaten auswählen
3. Den Ausgabe-Pfad auswählen

Wenn ich es starte, legt es im Ausgabe-Pfad auch eine Datei an, mit dem Archivnamen leider auch irgendein PW welches nicht korrekt ist und was meistens an letzter Stelle der PW Liste steht

Was tut es nicht?: Das was es soll ;)



Es soll beim Starten überprüfen, ob alle Abhängigkeiten zum ausführen Installiert sind und gegebenenfalls nachinstallieren.

Also Winrar, 7Zip tinker usw.

Es soll die PW Liste einlesen und der Reihe nach versuchen, die PW der Archive zu knacken.
Es soll anschließend, wenn es ein Archivpasswort gefunden hat, dieses mit Archivnamen + PW in einer extra Textdatei ablegen
Es soll die Archive mit dem Passwort entpacken (in einem Extra Ordner)

falls wer mitmachen möchte

 
 
Mhmm das ist für zipfiles das hatte ich mir schon angeschaut tut bestimmt was es soll aber nicht was ich möchte ;)
 
Geht auch kürzer aber ist ohne Bruteforce.
Das scheitert schon daran das die KI sagt es wäre illegal.

1 Variante
ohne Gui geht davon aus das winrar oder 7zip vorhanden ist

Code:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!

2 Variante
ohne Gui und das mindentes winrar oder 7zip vorhanden ist

Code:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!

3 Variante ohne Gui und winrar oder 7zip vorhanden und nachinstall
Code:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!


4 Variante
Mit Gui ohne das winrar oder 7zip vorhanden ist und geholt wird.

Code:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!

Gemini-KI generierte Samples, Co-Pilot von MS spuckt ähnliche Ergebnisse aus.
Gemini spuckt auch mehr Text aus, zu den gegebenfalls was wie wo angepasst werden kann oder verbessert werden kann als ChatGPT ist meine Erfahrung.

Das war die Antwort auf die erste Variante von Gememi im Orginal.

Schreibe ein Pyhton Script was mehere Ordner mit .rar und .zip Archiven mit Passwordschutz entpackt an einen bestimmten Ort und dabei eine Passwordliste aus meheren .txt verwendet

Absolut! Hier ist ein Python-Skript, das mehrere Ordner mit passwortgeschützten .rar und .zip-Archiven rekursiv durchsucht, entpackt und dabei eine Liste von Passwörtern aus mehreren .txt-Dateien verwendet:
Python
import os
import rarfile
import zipfile
from itertools import product

def extract_archives(source_dir, destination_dir, password_files):
"""
Extrahiert .rar und .zip-Archive rekursiv aus einem Quellverzeichnis an einen Zielort.
Verwendet eine Liste von Passwortdateien für das Entpacken.

Args:
source_dir: Das Quellverzeichnis, in dem die Archive gesucht werden.
destination_dir: Das Zielverzeichnis, in das die entpackten Dateien kopiert werden.
password_files: Eine Liste von Pfaden zu den Passwortdateien.
"""

for root, _, files in os.walk(source_dir):
for file in files:
if file.endswith('.rar') or file.endswith('.zip'):
archive_path = os.path.join(root, file)

# Alle Kombinationen von Passwörtern aus den verschiedenen Dateien erstellen
passwords = []
for file in password_files:
with open(file, 'r') as f:
passwords.extend(f.read().splitlines())
password_combinations = product(*[passwords] * len(password_files))

for password in password_combinations:
password = ''.join(password)
try:
if file.endswith('.rar'):
with rarfile.RarFile(archive_path, 'r') as rf:
rf.extractall(destination_dir, pwd=password)
else:
with zipfile.ZipFile(archive_path, 'r') as zf:
zf.extractall(destination_dir, pwd=password)
print(f"Archiv {archive_path} erfolgreich entpackt mit Passwort: {password}")
break # Sobald ein Passwort funktioniert, zum nächsten Archiv wechseln
except (rarfile.BadRarFile, zipfile.BadZipfile):
pass # Passwort war falsch, probiere das nächste
except Exception as e:
print(f"Fehler beim Entpacken von {archive_path}: {e}")

# Beispielaufruf:
source_folder = "C:/path/to/your/source/folder"
destination_folder = "C:/path/to/your/destination/folder"
password_list_files = ["passwords1.txt", "passwords2.txt"]

extract_archives(source_folder, destination_folder, password_list_files)

Erklärung:​

  1. Import der benötigten Module: os für Dateioperationen, rarfile und zipfile für das Arbeiten mit .rar und .zip-Archiven, und itertools für das Erstellen von Passwortkombinationen.
  2. Funktion extract_archives:
    • Rekursive Suche: Durchläuft alle Unterverzeichnisse des Quellverzeichnisses.
    • Archiv-Identifikation: Filtert .rar und .zip-Dateien heraus.
    • Passwortkombinationen: Erstellt alle möglichen Kombinationen von Passwörtern aus den angegebenen Dateien.
    • Entpacken: Versucht jedes Archiv mit jeder Passwortkombination zu entpacken. Bricht ab, sobald ein Passwort funktioniert.
    • Fehlerbehandlung: Fängt mögliche Fehler beim Entpacken ab.
  3. Beispielaufruf: Setzt die Pfade zum Quellverzeichnis, Zielverzeichnis und den Passwortdateien.

Wichtige Hinweise:​

  • Passwortkombinationen: Je mehr Passwortdateien und je länger die Passwörter, desto länger dauert der Prozess.
  • Fehlerbehandlung: Die Fehlerbehandlung ist einfach gehalten. Für komplexere Szenarien kann sie erweitert werden.
  • Performance: Für sehr viele Archive oder lange Passwortlisten könnte die Performance optimiert werden, z.B. durch paralleles Entpacken oder effizientere Passwortgenerierung.
  • Sicherheit: Das Ausprobieren vieler Passwörter kann zeitaufwendig sein. Achte darauf, dass du die notwendigen Berechtigungen hast und dass du die Passwörter sicher aufbewahrst.
Verwendung:
  1. Pfade anpassen: Ersetze die Platzhalter für die Verzeichnisse und Passwortdateien durch deine tatsächlichen Pfade.
  2. Passwortdateien vorbereiten: Erstelle Textdateien mit den möglichen Passwörtern, jeweils ein Passwort pro Zeile.
  3. Skript ausführen: Speichere das Skript als .py-Datei und führe es aus.
Zusätzliche Möglichkeiten:
  • Log-Datei: Füge eine Log-Datei hinzu, um den Fortschritt und Fehler zu protokollieren.
  • Benutzerinteraktion: Ermögliche es dem Benutzer, bestimmte Optionen zu konfigurieren, z.B. die maximale Anzahl an Passwortversuchen.
  • Benutzerdefinierte Passwortgenerierung: Erweitere die Passwortgenerierung um komplexere Muster.
Vorsicht: Das Knacken von Passwörtern kann in einigen Ländern illegal sein. Verwende dieses Skript nur für eigene Zwecke und mit den entsprechenden rechtlichen Grundlagen.
 

So hier mal eine Finale Version
896DFD17B7.png


ddownload.com, rapidgator.net
31.68 MB
Archiv_Entpacker_by_Punx_Final.exe
Download



Code:
Bitte Anmelden oder Registrieren um Code Inhalt zu sehen!

Final
Adding a batch for the requirements
added Program is a Simple .exe File
added Unrar

V1.1
added better Error Handling
added archive Progress
added Summary Screen
added faster read of .txt files

V1
added:
Selectable GUI

SHA265 Erstellung und Speicherung der Werte in ArchiveSHA256.txt
Es wird immer ein PW an allen Archiven geprüft, somit wird sichergestellt, dass kein PW in der Liste vergessen wird und
sollte ein PW mehrfach verwendet worden sein, ist gewährleistet, dass man nicht wieder von oben in der Liste anfängt
Umbenennung von entpackten Ordner um versehentliches Überschreiben von vorhandene
Daten zu verhindern.
Speicherung aller erfolgreichen Passwörter und die dazugehörigen Archivnamen
Einfacheres Entfernen von Archiven aus der Liste

[/CODE]



Wer Fehler findet, bitte melden ;)
 

Data-Load.me

Auf Data-Load.me findest du Links zu kostenlosen Downloads für Filme, Serien, Dokumentationen, Anime, Animation & Zeichentrick, Audio / Musik, Software und Dokumente / Ebooks / Zeitschriften. Wir sind deine Boerse für kostenlose Downloads!

Ist Data-Load.me / data-load.me legal?

Data-Load.me ist nicht illegal. Es werden keine zum Download angebotene Inhalte auf den Servern von Data-Load.me gespeichert.
Oben Unten