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 相关文章推荐
PyQt5实现无边框窗口的标题拖动和窗口缩放
Apr 19 Python
Redis使用watch完成秒杀抢购功能的代码
May 07 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
Jun 11 Python
python生成密码字典的方法
Jul 06 Python
python五子棋游戏的设计与实现
Jun 18 Python
Pytorch实现神经网络的分类方式
Jan 08 Python
Mysql数据库反向生成Django里面的models指令方式
May 18 Python
keras 如何保存最佳的训练模型
May 25 Python
Python持续监听文件变化代码实例
Jul 22 Python
分享unittest单元测试框架中几种常用的用例加载方法
Dec 02 Python
Python 如何将integer转化为罗马数(3999以内)
Jun 05 Python
Python卷积神经网络图片分类框架详解分析
Nov 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
php上传图片之时间戳命名(保存路径)
2014/08/15 PHP
php导入大量数据到mysql性能优化技巧
2014/12/29 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
深入理解php printf() 输出格式化的字符串
2016/05/23 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
js url传值中文乱码之解决之道
2009/11/20 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
json数据的列循环示例
2013/09/06 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
收集前端面试题之url、href、src
2018/03/22 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
python删除文件示例分享
2014/01/28 Python
基于pip install django失败时的解决方法
2018/06/12 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
对Python信号处理模块signal详解
2019/01/09 Python
python实现动态创建类的方法分析
2019/06/25 Python
Python变量作用域LEGB用法解析
2020/02/04 Python
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
单位工程竣工验收方案
2014/03/16 职场文书
交通事故协议书范文
2014/04/16 职场文书
2014年母亲节寄语
2014/05/07 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
2021/06/30 SQL Server
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL