Cara memecahkan arsip kata sandi sendiri

CPAP


Ada arsip dan Anda perlu mengekstrak isinya, tetapi kata sandi dilupakan. Anda dapat google dan mempercayai berbagai program ( satu , dua , tiga ), tetapi

Satu-satunya cara untuk memecahkan arsip RAR adalah kekerasan.

Data awal


Arsip, kamus kata sandi (dan jika Anda memasukkan% nama pengguna% dalam arsip, jangan lupa untuk menambahkan yang sering Anda gunakan, hanya secara lokal! ).


Prosedur


Dari artikel sebelumnya:


– , 262144 SHA1, WinRAR ( AES) ( ). , CRC32, , . – , , . RAR β€” Β« Β».

. WinRAR , .

Oleh karena itu, algoritme dalam versi pertama akan sederhana: buka file dengan kata sandi dan ulangi kata sandi untuk arsip sampai rusak.


Jangan lupa bahwa kami menggunakan Go .
File kata sandi


dictFile, err := os.Open(dictionary)
if err != nil {
    log.Fatalln(err)
    }
defer dictFile.Close()

Arsipkan sendiri


zipr, err := zip.OpenReader(zipfile)
if err != nil {
    log.Fatal(err)
}

Dan kita super algoritma


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)
        }
    }

Dan jika kata sandi ada di arsip - voila!


Blackjack dan versi multithreading


Ada versi yang lebih menarik - dengan multithreading dan goroutine.


The repositori memiliki 63 utilitas yang lebih canggih tentang berbagai topik. Dan jika Anda memiliki ide apa yang harus ditambahkan - tulis.


UPD


Pengurangan berganda adalah cara yang paling dapat diandalkan untuk menghindari kesalahan. Terima kasih kepada semua orang yang merespons.


All Articles