
هناك أرشيف وتحتاج إلى استخراج المحتويات ، ولكن نسيت كلمة المرور. يمكنك جوجل والثقة في برامج مختلفة ( واحد ، اثنان ، ثلاثة ) ، ولكن
الطريقة الوحيدة للقضاء على أرشيف RAR هي القوة الغاشمة.
البيانات الأولية
الأرشيف ، قاموس كلمة المرور (وإذا وضعت٪ username٪ في الأرشيف ، لا تنس أن تضيف تلك المستخدمة بكثرة ، محليًا فقط! ).
إجراء
من المقالات السابقة:
– , 262144 SHA1, WinRAR ( AES) ( ). , CRC32, , . – , , . RAR — « ».
. WinRAR , .
لذلك ، ستكون الخوارزمية في الإصدار الأول بسيطة: فتح الملف بكلمات المرور وتكرارها على كلمات المرور للأرشيف حتى ينكسر.
لا تنس أننا نستخدم Go .
ملف كلمة المرور
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)
}
}
وإذا كانت كلمة المرور في الأرشيف - فويلا!
العوامة وإصدار multithreading
هناك أكثر إثارة للاهتمام نسخة - مع خاصية تعدد وgoroutines.
يحتوي المستودع على 63 أداة مساعدة أكثر تعقيدًا حول مواضيع مختلفة. وإذا كان لديك أفكار لما تضيفه - اكتب.
UPD
الطرح المتعدد هو الطريقة الأكثر موثوقية لتجنب الأخطاء. شكرا لكل شخص قام بالرد.