思路
1.用密码字典暴力破解
2.可以根据个人信息设置专用的字典,需要用到itertools工具包来实现排列组合
博主用的字典
代码
已加密压缩文件‘secret.zip’,里面有’apple.png’,密码为666
import zipfile
import itertools
#可以自己定义常用词汇
keywords = ['nice','damn','hello','world']
#组合
#combinations = itertools.combinations(keywords,2)
#排列
permutations = itertools.permutations(keywords,2)
final_permunations = []
for i in permutations:
final_permunations.append(i[0]+i[1])
z = zipfile.ZipFile("secret.zip")
wordlist = open('wordslist.txt','r').read()
wordlist = wordlist.splitlines()
wordlist.extend(final_permunations)
tries = 0
success = 0
for word in wordlist:
try:
tries += 1
z.setpassword(word.encode('ascii'))
z.extract("apple.png")
print(f"破解{tries}次成功,密码为{word}")
success = 1
break
except:
pass
if(success == 0):
print(tries,"未找到密码")
输出:
破解19次成功,密码为666