思路:主要是使用遍历字典的方式进行破解,以及zipfile库的使用
步骤:1.查看是否已经安装好zipfile库
2.准备字典文件
eg:_ZipDict.py
#!/usr/bin/env python3
#生成字典文件
#写文件
fp = open('D:/1/dictionary.txt', 'w')
#循环生成6位数字密码
#rangeList = [0, 1, 2, 3, 4, 5 ,6, 7, 8, 9]
for i in range(1000):
a = str(i).zfill(3)
#print(a)
fp.write(a + '\n')
fp.flush()
print('生成完成!')
3.编写破解代码
eg: _ZipFile.py
#!/usr/bin/env python3
#破解zip文件密码
#指定zip文件名为upzip.zip
#指定字典文件名为dictionary.txt
import zipfile
import os
def extractFile(zFile, password):
try:
if password == None:
zFile.extractall()
else:
#需要指定赋值给形参
zFile.extractall(path = os.getcwd(), pwd = password.encode('utf-8'))
print("FoundPassword:", password)
return True
except:
return False
def main():
zFile = zipfile.ZipFile('D:/1/upzip.zip')
passFile = open('D:/1/dictionary.txt')
for line in passFile.readlines():
password = line.strip('\n')
if extractFile(zFile, password):
break
print("结束!")
if __name__ == '__main__':
main()