Python 的标准库提供了 ZIP 文件的提取压缩模块 zipfile,现在让我们试着用这
个模块,暴力破解出加密的 ZIP 文件!
我们可以用 extractall()这个函数抽取文件,密码正确则返回正确,密码错误测
抛出异常。
现在我们可以增加一些功能,将上面的单线程程序变成多线程的程序,来提高
破解速度。
两个程序代码如下,注释处为单线程代码,至于密码字典,请自己去搞吧,嘿嘿!
# coding=UTF-8
"""
用字典暴力破解ZIP压缩文件密码
"""
import zipfile
import threading
def extractFile(zFile, password):
try:
zFile.extractall(pwd=password)
print("Found Passwd : ", password)
return password
except:
pass
def main():
zFile = zipfile.ZipFile('unzip.zip')
passFile = open('dictionary.txt')
for line in passFile.readlines():
password = line.strip('\n')
t = threading.Thread(target=extractFile, args=(zFile, password))
t.start()
if __name__ == '__main__':
main()