欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python簡(jiǎn)單利用字典破解zip文件口令

 更新時(shí)間:2020年09月07日 10:27:08   作者:極天の流星雨  
這篇文章主要給大家介紹了關(guān)于python簡(jiǎn)單利用字典破解zip文件口令的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前幾天在一本書(shū)上看到一篇可以利用字典破解zip文件密碼的文章,覺(jué)得比較有意思于是研究了一番,在這里分享一下

原理

主要是利用python里自帶的zipfile庫(kù)中的extractall函數(shù)來(lái)實(shí)現(xiàn)的,簡(jiǎn)單導(dǎo)入zipfile之后,實(shí)例化一個(gè)ZipFile類。利用extractall()來(lái)解壓這個(gè)文件,并在參數(shù)pwd上填入正確密碼

在這里插入圖片描述

這時(shí)我們發(fā)現(xiàn)執(zhí)行腳本之后,fate.zip會(huì)被正確解壓,而填入錯(cuò)誤密碼則會(huì)入下圖一樣報(bào)錯(cuò)

在這里插入圖片描述因此

我們可以利用因口令不正確而拋出的異常來(lái)測(cè)試字典文件中是否有zip文件的密碼,并利用try expect來(lái)處理異常信息。

代碼

假定zip文件密碼為fate,pwd.txt為字典文件需要注意的是python3以及不支持自動(dòng)ascii碼了,在extractall的pwd參數(shù)后需手動(dòng)添加編碼類型,# noinspection PyBroadException則是為了防止PyCharm報(bào)錯(cuò)

提高性能

將程序模塊化后,在利用多線程處理可以提高程序性能,可以利用Thread來(lái)實(shí)現(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)前模塊運(yùn)行,當(dāng)被導(dǎo)入時(shí)不運(yùn)行

結(jié)語(yǔ)

到此這篇關(guān)于python簡(jiǎn)單利用字典破解zip文件口令的文章就介紹到這了,更多相關(guān)python字典破解zip文件口令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論