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中比较特别的除法运算和幂运算介绍
Apr 05 Python
用Python创建声明性迷你语言的教程
Apr 13 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
Python基于pycrypto实现的AES加密和解密算法示例
Apr 10 Python
python3中的md5加密实例
May 29 Python
Python Django 命名空间模式的实现
Aug 09 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
May 03 Python
python 字符串的驻留机制及优缺点
Jun 19 Python
python爬虫使用正则爬取网站的实现
Aug 03 Python
基于Python爬取搜狐证券股票过程解析
Nov 18 Python
Django rest framework如何自定义用户表
Jun 09 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/04 冲泡冲煮
一个查看session内容的函数
2006/10/09 PHP
如何在PHP中使用Oracle数据库(2)
2006/10/09 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
laravel 事件/监听器实例代码
2019/04/12 PHP
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
jQuery oLoader实现的加载图片和页面效果
2015/03/14 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
Bootstrap文件上传组件之bootstrap fileinput
2016/11/25 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
2020/03/13 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
在Python中调用ggplot的三种方法
2015/04/08 Python
Python 实现随机数详解及实例代码
2017/04/15 Python
python绘制多个曲线的折线图
2020/03/23 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
2019/01/14 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
python打包生成so文件的实现
2020/10/30 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
2020/12/01 Python
让IE6、IE7、IE8支持CSS3的脚本
2010/07/20 HTML / CSS
Clarria化妆品官方网站:购买天然和有机化妆品系列
2018/04/08 全球购物
档案接收函
2014/01/13 职场文书
小学生评语大全
2014/04/18 职场文书
家长会学生演讲稿
2014/04/26 职场文书
离职报告格式
2014/11/04 职场文书
人事局接收函
2015/01/31 职场文书
《比尾巴》教学反思
2016/02/24 职场文书
68句权威创业名言
2019/08/26 职场文书
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android