1. 程式人生 > >python編寫暴力破解zip文件程式

python編寫暴力破解zip文件程式

暴力破解ZIP壓縮檔案

編寫暴力破解Zip檔案要從學習zipfile庫的使用方法入手,首先開啟Python直譯器,用help('zipfile')命令來了解這個庫並重點看一下ZipFile類中的extractall()這個方法 

ZipFile


extractall()


讓我們來寫一個指令碼測試一下Zip檔案庫的用法,首先建立一個有密碼的壓縮檔案,這裡設定密碼為awd,檔名為evil.zip,要解壓這個zip檔案,例項化一個新的ZipFile使用extractall方法在可選引數pwd上填上密碼


執行後你會發現他會將zip檔案解壓到一個名為evil的目錄下

如果用一個錯誤的密碼執行指令碼時

會顯示錯誤我們加一些捕獲和處理異常的程式碼來顯示錯誤資訊


我們看到顯示了錯誤資訊,告訴了我們用了錯誤的密碼


我們可以用丟擲的異常測試我們的字典檔案在這裡為了簡便直接新建了一個dictionary.txt”檔案,其中有zip檔案的密碼,我們需要遍歷字典中的每個單詞。如果extractall執行成功則輸出密碼,否則丟擲異常,忽略這個異常,再測試下一個密碼。


現在讓我們清理一下這個程式碼,成為模組化,而非線性


指令碼出來後我們還要提高它的效能。我們可以用執行緒同時測試多個密碼。對字典中的單詞,我們都會生成一個新的執行緒去測試他,然後就可以收工了