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 25 Python
Python中使用装饰器时需要注意的一些问题
May 11 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
Apr 18 Python
用Python编写一个高效的端口扫描器的方法
Dec 20 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
Jul 23 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
Python partial函数原理及用法解析
Dec 11 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
Apr 08 Python
基于jupyter代码无法在pycharm中运行的解决方法
Apr 21 Python
基于selenium及python实现下拉选项定位select
Jul 22 Python
Python学习工具jupyter notebook安装及用法解析
Oct 23 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
Jan 21 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
实用函数7
2007/11/08 PHP
php 高效率写法 推荐
2010/02/21 PHP
PHP Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
php导入导出excel实例
2013/10/25 PHP
Valerio 发布了 Mootools
2006/09/23 Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
JS选取DOM元素的简单方法
2016/07/08 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
JS实现手写parseInt的方法示例
2017/09/24 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
Vue项目总结之webpack常规打包优化方案
2019/06/06 Javascript
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
Python实现的读写json文件功能示例
2018/06/05 Python
python把1变成01的步骤总结
2019/02/27 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
2021/02/20 Python
高中生学习的自我评价
2013/12/14 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
大型营销活动计划书
2014/04/28 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
物资采购方案
2014/06/12 职场文书
批评与自我批评总结
2014/10/17 职场文书
2014个人年度工作总结
2014/12/15 职场文书
劳模事迹材料范文
2014/12/24 职场文书
python中print格式化输出的问题
2021/04/16 Python
Vue通过懒加载提升页面响应速度
2021/05/10 Vue.js