
рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╕рд╛рдордЧреНрд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╛рд╕рд╡рд░реНрдб рднреВрд▓ рдЧрдпрд╛ рд╣реИред рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ ( рдПрдХ , рджреЛ , рддреАрди ) рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ , рд▓реЗрдХрд┐рди
RAR рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдХреНрд░реИрдХ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдкрд╛рд╢рд╡рд┐рдХ рдмрд▓ рд╣реИред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрдВрдХрдбрд╝реЗ
рдЖрд░реНрдХрд╛рдЗрд╡, рдкрд╛рд╕рд╡рд░реНрдб рдбрд┐рдХреНрд╢рдирд░реА (рдФрд░ рдЕрдЧрд░ рдЖрдк рдЖрд░реНрдХрд╛рдЗрд╡ рдореЗрдВ% рдпреВрдЬрд░рдиреЗрдо% рдбрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рдмрд╛рд░-рдмрд╛рд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ, рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдЬреЛрдбрд╝рдирд╛ рди рднреВрд▓реЗрдВ )ред
рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рд╕реЗ:
тАУ , 262144 SHA1, WinRAR ( AES) ( ). , CRC32, , . тАУ , , . RAR тАФ ┬л ┬╗.
. WinRAR , .
рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕рд░рд▓ рд╣реЛрдЧрд╛: рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдЯреВрдЯ рди рдЬрд╛рдПред
рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рд╣рдо рдЧреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ ред
рдкрд╛рд╕рд╡рд░реНрдб рдлрд╝рд╛рдЗрд▓
dictFile, err := os.Open(dictionary)
if err != nil {
log.Fatalln(err)
}
defer dictFile.Close()
рдЦреБрдж рд╣реА рдкреБрд░рд╛рд▓реЗрдЦ
zipr, err := zip.OpenReader(zipfile)
if err != nil {
log.Fatal(err)
}
рдФрд░ рд╣рдорд╛рд░рд╛ рдЙрддреНрддрдо рдХрд▓рди рд╡рд┐рдзрд┐
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)
}
}
рдФрд░ рдЕрдЧрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╣реИ - рд╡реЙрдЗрд▓рд╛!
рд▓рд╛рдареА рдФрд░ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рд╕рдВрд╕реНрдХрд░рдг
рдПрдХ рдФрд░ рднреА рдЕрдзрд┐рдХ рд░реЛрдЪрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ - рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдФрд░ рдЧреЛрд░рдЖрдЙрдЯреНрд╕ рдХреЗ рд╕рд╛рдеред
рднрдВрдбрд╛рд░ 63 рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдФрд░ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рд╣реИред рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЬреЛрдбрд╝рдирд╛ рд╣реИ - рд▓рд┐рдЦреЗрдВред
рдпреБрдкреАрдбреА
рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрд╛рдзрд┐рдХ рдШрдЯрд╛рд╡ рд╕рдмрд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХрд╛ рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХрд╛ рд╢реБрдХреНрд░рд┐рдпрд╛ред