Python--基于字典的 ZIP压缩文件密码破解
最近在学习《运用Python成为顶级黑客》一书时,因书本采用的是2.7版本,遂将代码改写为3.8版本并解决一点常见问题。
原文有一段代码:
zFile.extractall(pwd=password)
python3及以上版本中不支持自动ascii码,在extractall的pwd参数后需手动添加编码类型。 改写后的代码如下:
import zipfile
from threading import Thread
def extractFile(zFile, password):
try:
zFile.extractall(pwd=password.encode('ascii'))
print ('[+] Found password = ' + password + '\n')
except:
pass
def main():
zFile = zipfile.ZipFile("evil.zip")
passFile = open('dictionary.txt')
for line in passFile.readlines():
password = line.strip('\n')
print (password)
t = Thread(target=extractFile, args = (zFile, password))
t.start()
if __name__ == '__main__':
main()
|