python简单利用字典破解zip文件口令

所属分类: 脚本专栏 / python 阅读数: 1395
收藏 0 赞 0 分享

前几天在一本书上看到一篇可以利用字典破解zip文件密码的文章,觉得比较有意思于是研究了一番,在这里分享一下

原理

主要是利用python里自带的zipfile库中的extractall函数来实现的,简单导入zipfile之后,实例化一个ZipFile类。利用extractall()来解压这个文件,并在参数pwd上填入正确密码

在这里插入图片描述

这时我们发现执行脚本之后,fate.zip会被正确解压,而填入错误密码则会入下图一样报错

在这里插入图片描述因此

我们可以利用因口令不正确而抛出的异常来测试字典文件中是否有zip文件的密码,并利用try expect来处理异常信息。

代码

假定zip文件密码为fate,pwd.txt为字典文件需要注意的是python3以及不支持自动ascii码了,在extractall的pwd参数后需手动添加编码类型,# noinspection PyBroadException则是为了防止PyCharm报错

提高性能

将程序模块化后,在利用多线程处理可以提高程序性能,可以利用Thread来实现多线程处理

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__"使函数只在当前模块运行,当被导入时不运行

结语

更多精彩内容其他人还在看

Python调用C/C++的方法解析

这篇文章主要介绍了Python调用C/C++的方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

学习Python爬虫的几点建议

这篇文章主要介绍了学习Python爬虫的几点建议,对新手学习爬虫有很大的帮助,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

Python创建临时文件和文件夹

这篇文章主要介绍了Python如何创建临时文件和文件夹,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

浅析Python 序列化与反序列化

这篇文章主要介绍了Python 序列化与反序列化的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

8种常用的Python工具

这篇文章主要介绍了8种常用的Python工具,帮助大家更好的学习Python,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

python爬虫使用requests发送post请求示例详解

这篇文章主要介绍了python爬虫使用requests发送post请求示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Python结合Window计划任务监测邮件的示例代码

这篇文章主要介绍了Python结合Window计划任务监测邮件的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Python用来做Web开发的优势有哪些

这篇文章主要介绍了Python用来做Web开发的优势有哪些,文中讲解非常细致,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

如何解决pycharm调试报错的问题

在本篇内容里小编给大家整理的是一篇关于如何解决pycharm调试报错的问题文章,需要的朋友们可以学习参考下。
收藏 0 赞 0 分享

基于logstash实现日志文件同步elasticsearch

这篇文章主要介绍了基于logstash实现日志文件同步elasticsearch,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多