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 ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
Jun 10 Python
PYTHON压平嵌套列表的简单实现
Jun 08 Python
Python实现两个list对应元素相减操作示例
Jun 09 Python
Python中动态检测编码chardet的使用教程
Jul 06 Python
python+influxdb+shell编写区域网络状况表
Jul 27 Python
Python找出微信上删除你好友的人脚本写法
Nov 01 Python
python3实现点餐系统
Jan 24 Python
django drf框架中的user验证以及JWT拓展的介绍
Aug 12 Python
Django项目之Elasticsearch搜索引擎的实例
Aug 21 Python
Python 输出详细的异常信息(traceback)方式
Apr 08 Python
使用python处理题库表格并转化为word形式的实现
Apr 14 Python
如何用Matlab和Python读取Netcdf文件
Feb 19 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
乱谈我对耳机、音箱的感受
2021/03/02 无线电
PHP5 安装方法
2006/10/09 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
Nginx下ThinkPHP5的配置方法详解
2017/08/01 PHP
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
extjs 学习笔记(二) Ext.Element类
2009/10/13 Javascript
js confirm()方法的使用方法实例
2013/07/13 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
layui form.render('select', 'test2') 更新渲染的方法
2019/09/27 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
[35:43]2018DOTA2亚洲邀请赛 4.1 小组赛B组 paiN vs Effect
2018/04/03 DOTA
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
python为QT程序添加图标的方法详解
2020/03/09 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
html5绘制时钟动画
2014/12/15 HTML / CSS
美国顶尖折扣时尚购物网:Bluefly
2016/08/28 全球购物
Champs Sports加拿大:北美最大的以商场为基础的专业运动鞋和服装零售商之一
2018/05/01 全球购物
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
工商管理毕业生推荐信
2013/12/24 职场文书
2014庆六一活动方案
2014/03/02 职场文书
班主任对学生的评语
2014/04/26 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
Python OpenGL基本配置方式
2022/05/20 Python