So knacken Sie ein Passwortarchiv selbst

CPAP


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.


All Articles