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翻译软件实现代码(使用google api完成)
Nov 26 Python
调试Python程序代码的几种方法总结
Apr 28 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 Python
python验证码识别教程之利用投影法、连通域法分割图片
Jun 04 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
May 21 Python
如何在Django配置文件里配置session链接
Aug 06 Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 Python
深入了解Python 方法之类方法 & 静态方法
Aug 17 Python
利用django创建一个简易的博客网站的示例
Sep 29 Python
利用Python优雅的登录校园网
Oct 21 Python
Pandas数据分析的一些常用小技巧
Feb 07 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
最小化数据传输――在客户端存储数据
2006/10/09 PHP
据说是雅虎的一份PHP面试题附答案
2009/01/07 PHP
php 字符串函数收集
2010/03/29 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
关于Curl在Swoole协程中的解决方案详析
2019/09/12 PHP
利用javascript中的call实现继承
2007/01/22 Javascript
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
JavaScript操作选择对象的简单实例
2016/05/16 Javascript
JavaScript仿支付宝6位数字密码输入框
2016/12/29 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
Angular resolve基础用法详解
2018/10/03 Javascript
微信小程序日历组件使用方法详解
2018/12/29 Javascript
JavaScript ES6常用基础知识总结
2019/02/09 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
详细解读Python中解析XML数据的方法
2015/10/15 Python
Python简单实现enum功能的方法
2016/04/25 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
Ajax请求总共有多少种Callback
2016/07/17 面试题
中文专业自荐书
2014/06/29 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
画展观后感
2015/06/17 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
Redis实现分布式锁的五种方法详解
2022/06/14 Redis