
Es gibt ein Archiv und Sie müssen den Inhalt extrahieren, aber das Passwort wird vergessen. Sie können verschiedene Programme ( eins , zwei , drei ) googeln und ihnen vertrauen , aber
Die einzige Möglichkeit, das RAR-Archiv zu knacken, ist Brute Force.
Ausgangsdaten
Archiv, Passwortwörterbuch (und wenn Sie% username% in das Archiv einfügen, vergessen Sie nicht, Ihre häufig verwendeten nur lokal hinzuzufügen ! ).
Verfahren
Aus früheren Artikeln:
– , 262144 SHA1, WinRAR ( AES) ( ). , CRC32, , . – , , . RAR — « ».
. WinRAR , .
Daher ist der Algorithmus in der ersten Version einfach: Öffnen Sie die Datei mit Kennwörtern und durchlaufen Sie die Kennwörter für das Archiv, bis sie beschädigt werden.
Vergessen Sie nicht, dass wir Go verwenden .
Passwortdatei
dictFile, err := os.Open(dictionary)
if err != nil {
log.Fatalln(err)
}
defer dictFile.Close()
Archivieren Sie sich
zipr, err := zip.OpenReader(zipfile)
if err != nil {
log.Fatal(err)
}
Und unser Super Algorithmus
scanner := bufio.NewScanner(dictFile)
for scanner.Scan() {
pass := scanner.Text()
for _, z := range zipr.File {
z.SetPassword(pass)
_, err := z.Open()
if err == nil {
println("[+] Found password")
println("[+] Password = " + pass)
os.Exit(0)
}
}
Und wenn das Passwort im Archiv ist - voila!
Blackjack- und Multithreading-Version
Es gibt eine noch interessantere Version - mit Multithreading und Goroutinen.
Das Repository verfügt über 63 komplexere Dienstprogramme zu verschiedenen Themen. Und wenn Sie Ideen haben, was Sie hinzufügen möchten - schreiben Sie.
UPD
Mehrfachsubtraktion ist der zuverlässigste Weg, um Fehler zu vermeiden. Vielen Dank an alle, die geantwortet haben.