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获取当前公网ip并自动断开宽带连接实例代码
Jan 12 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
Django Web开发中django-debug-toolbar的配置以及使用
May 06 Python
python实现QQ批量登录功能
Jun 19 Python
用python3 urllib破解有道翻译反爬虫机制详解
Aug 14 Python
Java多线程实现四种方式原理详解
Jun 02 Python
python 图像增强算法实现详解
Jan 24 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
Feb 03 Python
python pygame 愤怒的小鸟游戏示例代码
Feb 25 Python
如何判断pytorch是否支持GPU加速
Jun 01 Python
详解Python+OpenCV进行基础的图像操作
Feb 15 Python
Python中的协程(Coroutine)操作模块(greenlet、gevent)
May 30 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实现懒加载的方法
2015/03/07 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
php fread函数使用方法总结
2019/05/28 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
理解JavaScript变量作用域更轻松
2009/10/25 Javascript
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
JS实现文件动态顺序载入的方法
2015/03/07 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
2017/03/08 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
2019/01/31 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
jQuery实现简单评论区功能
2020/10/26 jQuery
Vue获取微博授权URL代码实例
2020/11/04 Javascript
python文件和目录操作函数小结
2014/07/11 Python
Python中max函数用法实例分析
2015/07/17 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
Django如何自定义分页
2018/09/25 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
基于python生成器封装的协程类
2019/03/20 Python
python 监控服务器是否有人远程登录(详细思路+代码)
2020/12/18 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
莫斯科购买书籍网站:Book24
2020/01/12 全球购物
节约用水演讲稿
2014/05/21 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
护士个人年终总结
2015/02/13 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
深度学习小工程练习之垃圾分类详解
2021/04/14 Python