python簡單利用字典破解zip文件口令
前幾天在一本書上看到一篇可以利用字典破解zip文件密碼的文章,覺得比較有意思于是研究了一番,在這里分享一下
原理
主要是利用python里自帶的zipfile庫中的extractall函數(shù)來實現(xiàn)的,簡單導(dǎo)入zipfile之后,實例化一個ZipFile類。利用extractall()來解壓這個文件,并在參數(shù)pwd上填入正確密碼

這時我們發(fā)現(xiàn)執(zhí)行腳本之后,fate.zip會被正確解壓,而填入錯誤密碼則會入下圖一樣報錯
因此
我們可以利用因口令不正確而拋出的異常來測試字典文件中是否有zip文件的密碼,并利用try expect來處理異常信息。
代碼
假定zip文件密碼為fate,pwd.txt為字典文件需要注意的是python3以及不支持自動ascii碼了,在extractall的pwd參數(shù)后需手動添加編碼類型,# noinspection PyBroadException則是為了防止PyCharm報錯
提高性能
將程序模塊化后,在利用多線程處理可以提高程序性能,可以利用Thread來實現(xiàn)多線程處理
import zipfile
from threading import Thread
def extractfile(zFile,password):
# noinspection PyBroadException
try:
zFile.extractall(pwd=password.encode("utf=8"))
print("password="+password)
except Exception as e:
pass
def main():
zFile = zipfile.ZipFile(r"D:\python\fate.zip")
passFile = open(r"D:\python\pwd.txt")
for line in passFile.readlines():
password = line.strip('\n')
t = Thread(target=extractfile(zFile , password))
t.start()
if __name__ == "__main__":
main()
利用if __name__ == "__main__"使函數(shù)只在當(dāng)前模塊運行,當(dāng)被導(dǎo)入時不運行
結(jié)語
到此這篇關(guān)于python簡單利用字典破解zip文件口令的文章就介紹到這了,更多相關(guān)python字典破解zip文件口令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python的Twisted框架編寫非阻塞程序的代碼示例
Twisted是基于異步模式的開發(fā)框架,因而利用Twisted進(jìn)行非阻塞編程自然也是必會的用法,下面我們就來一起看一下使用Python的Twisted框架編寫非阻塞程序的代碼示例:2016-05-05
Python NumPy中的隨機數(shù)及ufuncs函數(shù)使用示例詳解
這篇文章主要介紹了Python NumPy中的隨機數(shù)及ufuncs函數(shù)使用,ufunc函數(shù)是NumPy中的一種通用函數(shù),它可以對數(shù)組中的每個元素進(jìn)行操作,而不需要使用循環(huán)語句,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-05-05
python實現(xiàn)監(jiān)控windows服務(wù)并自動啟動服務(wù)示例
這篇文章主要介紹了python實現(xiàn)監(jiān)控windows服務(wù)并自動啟動服務(wù)示例,需要的朋友可以參考下2014-04-04
python二進(jìn)制串轉(zhuǎn)字符串的方法詳解
這篇文章主要介紹了python二進(jìn)制串轉(zhuǎn)字符串的方法詳解,使用json,可以自動檢測編碼,但需要注意的是,它返回的是python對象,不一定是字符串,具體是什么對象要視原始內(nèi)容而定,需要的朋友可以參考下2023-11-11
Python實現(xiàn)網(wǎng)絡(luò)端口轉(zhuǎn)發(fā)和重定向的方法
這篇文章主要介紹了Python實現(xiàn)網(wǎng)絡(luò)端口轉(zhuǎn)發(fā)和重定向的方法,結(jié)合實例形式分析了Python基于threading和socket模塊實現(xiàn)端口轉(zhuǎn)發(fā)與重定向的具體操作技巧,需要的朋友可以參考下2016-09-09

