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实现的多线程端口扫描功能示例
Jan 21 Python
使用Pyinstaller的最新踩坑实战记录
Nov 08 Python
python机器学习实战之K均值聚类
Dec 20 Python
python中字符串比较使用is、==和cmp()总结
Mar 18 Python
python通过txt文件批量安装依赖包的实现步骤
Aug 13 Python
python for循环remove同一个list过程解析
Aug 14 Python
Python在OpenCV里实现极坐标变换功能
Sep 02 Python
pandas read_excel()和to_excel()函数解析
Sep 19 Python
Python调用Windows API函数编写录音机和音乐播放器功能
Jan 05 Python
python自动化测试三部曲之unittest框架的实现
Oct 07 Python
Python 数据分析之逐块读取文本的实现
Dec 14 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
Jan 28 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编程最快明白》第五讲:php目录、文件操作
2010/11/01 PHP
PHP Streams(流)详细介绍及使用
2015/05/12 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
用js获取电脑信息(是使用与IE浏览器)
2013/01/15 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
js判断变量初始化的三种形式及推荐用的形式
2014/07/22 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
2016/11/25 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
2017/01/24 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
微信小程序合法域名配置方法
2019/05/06 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
Python实现把数字转换成中文
2015/06/29 Python
Python语言的面相对象编程方式初步学习
2016/03/12 Python
django请求返回不同的类型图片json,xml,html的实例
2018/05/22 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
美国在线宠物商店:Chewy
2019/01/12 全球购物
Douglas意大利官网:购买香水和化妆品
2020/05/27 全球购物
新西兰最大、占有率最高的综合性药房:PharmacyDirect药房中文网
2020/11/03 全球购物
介绍一下grep命令的使用
2012/06/28 面试题
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
2015/06/22 面试题
后勤采购员岗位职责
2013/12/19 职场文书
杠杆的科学教学反思
2014/01/10 职场文书
建筑院校毕业生求职信
2014/06/13 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书