python編寫暴力破解zip文件程式
阿新 • • 發佈:2019-02-03
暴力破解ZIP壓縮檔案
編寫暴力破解Zip檔案要從學習zipfile庫的使用方法入手,首先開啟Python直譯器,用help('zipfile')命令來了解這個庫並重點看一下ZipFile類中的extractall()這個方法
ZipFile
extractall()
讓我們來寫一個指令碼測試一下Zip檔案庫的用法,首先建立一個有密碼的壓縮檔案,這裡設定密碼為awd,檔名為evil.zip,要解壓這個zip檔案,例項化一個新的ZipFile類,使用extractall()方法,在可選引數pwd上填上密碼
執行後你會發現他會將zip檔案解壓到一個名為evil的目錄下
如果用一個錯誤的密碼執行指令碼時
我們看到顯示了錯誤資訊,告訴了我們用了錯誤的密碼
我們可以用丟擲的異常測試我們的字典檔案,在這裡為了簡便直接新建了一個“dictionary.txt”檔案,其中有zip檔案的密碼,我們需要遍歷字典中的每個單詞。如果extractall執行成功則輸出密碼,否則丟擲異常,忽略這個異常,再測試下一個密碼。
現在讓我們清理一下這個程式碼,成為模組化,而非線性
指令碼出來後我們還要提高它的效能。我們可以用執行緒同時測試多個密碼。對字典中的單詞,我們都會生成一個新的執行緒去測試他,然後就可以收工了