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


Posted in Python onSeptember 07, 2020

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

原理

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

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

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

python简单利用字典破解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简单利用字典破解zip文件口令的文章就介绍到这了,更多相关python字典破解zip文件口令内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中使用partial改变方法默认参数实例
Apr 28 Python
Python中基本的日期时间处理的学习教程
Oct 16 Python
实例解析Python设计模式编程之桥接模式的运用
Mar 02 Python
对python中字典keys,values,items的使用详解
Feb 03 Python
python使用wxpy实现微信消息防撤回脚本
Apr 29 Python
12个Python程序员面试必备问题与答案(小结)
Jun 24 Python
python join方法使用详解
Jul 30 Python
python绘制玫瑰的实现代码
Mar 02 Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 Python
学生如何注册Pycharm专业版以及pycharm的安装
Sep 24 Python
Python利用matplotlib绘制折线图的新手教程
Nov 05 Python
Python 的 f-string 可以连接字符串与数字的原因解析
Feb 20 Python
python 如何快速复制序列
Sep 07 #Python
Python2与Python3关于字符串编码处理的差别总结
Sep 07 #Python
python 装饰器的实际作用有哪些
Sep 07 #Python
通俗讲解python 装饰器
Sep 07 #Python
彻底搞懂python 迭代器和生成器
Sep 07 #Python
python如何设置静态变量
Sep 07 #Python
获取CSDN文章内容并转换为markdown文本的python
Sep 06 #Python
You might like
PHP基础陷阱题(变量赋值)
2012/09/12 PHP
分割GBK中文遭遇乱码的解决方法
2013/08/09 PHP
php二分查找二种实现示例
2014/03/12 PHP
超简单的jquery的AJAX用法
2010/05/10 Javascript
读jQuery之一(对象的组成)
2011/06/11 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
node.js中的fs.stat方法使用说明
2014/12/16 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
2016/03/07 Javascript
浅谈javascript alert和confirm的美化
2016/12/15 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
详解关于html,css,js三者的加载顺序问题
2019/04/10 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
微信小程序 scroll-view 水平滚动实现过程解析
2019/10/12 Javascript
详解ECMAScript2019/ES10新属性
2019/12/06 Javascript
webpack+express实现文件精确缓存的示例代码
2020/06/11 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
python 简易计算器程序,代码就几行
2009/08/29 Python
urllib2自定义opener详解
2014/02/07 Python
Python中的异常处理简明介绍
2015/04/13 Python
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
2018/07/04 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
python的json包位置及用法总结
2020/06/21 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
大学新闻系求职信
2014/06/03 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
开展党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
2014年党总支工作总结
2014/12/18 职场文书
2016年“5.12”国际护士节活动总结
2016/04/06 职场文书
有趣的二维码:使用MyQR和qrcode来制作二维码
2021/05/10 Python
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL
Python日志模块logging用法
2022/06/05 Python