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爬虫常用的模块分析
Aug 29 Python
解析Python中while true的使用
Oct 13 Python
利用python编写一个图片主色转换的脚本
Dec 07 Python
pyQt4实现俄罗斯方块游戏
Jun 26 Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 Python
python字符串中匹配数字的正则表达式
Jul 03 Python
python爬虫selenium和phantomJs使用方法解析
Aug 08 Python
python循环输出三角形图案的例子
Nov 22 Python
在python中计算ssim的方法(与Matlab结果一致)
Dec 19 Python
django API 中接口的互相调用实例
Apr 01 Python
Python OpenCV中的numpy与图像类型转换操作
Dec 11 Python
关于python类SortedList详解
Sep 04 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作的文本留言本的例子(五)
2006/10/09 PHP
php简单截取字符串代码示例
2016/10/19 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
理解js对象继承的N种模式
2016/01/25 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
vue缓存的keepalive页面刷新数据的方法
2019/04/23 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
Python命名空间详解
2014/08/18 Python
Python里disconnect UDP套接字的方法
2015/04/23 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
python中numpy的矩阵、多维数组的用法
2018/02/05 Python
Python简单基础小程序的实例代码
2019/04/28 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
娇韵诗加拿大官网:Clarins加拿大
2017/11/20 全球购物
澳大利亚床上用品、浴巾和家居用品购物网站:Bambury
2020/04/16 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
品学兼优的大学生自我评价
2013/09/20 职场文书
施工资料员岗位职责
2014/01/06 职场文书
好矿嫂事迹材料
2014/01/21 职场文书
迟到检讨书500字
2014/02/05 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
应届生自荐信
2014/06/30 职场文书
西双版纳导游词
2015/02/03 职场文书
2019年教师节活动策划方案
2019/09/09 职场文书
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
2021/06/07 Python
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫