小风福利公众号
扫描二维码
关注“外卖干饭精灵”公众号
领本站送出的无门槛20元外卖红包
回复“黑客”领取学习资料
最新文章
热门文章
文章详情
用python利用字典破解zip文件
日期:2020/9/9 11:00:10
前几天在一本书上看到一篇可以利用字典破解zip文件密码的文章,觉得比较有意思于是研究了一番,在这里分享一下
原理
主要是利用python里自带的zipfile库中的extractall函数来实现的,简单导入zipfile之后,实例化一个ZipFile类。利用extractall()来解压这个文件,并在参数pwd上填入正确密码
这时我们发现执行脚本之后,fate.zip会被正确解压,而填入错误密码则会入下图一样报错
因此我们可以利用因口令不正确而抛出的异常来测试字典文件中是否有zip文件的密码,并利用try expect来处理异常信息。
代码
假定zip文件密码为fate,pwd.txt为字典文件
import zipfile zFile = zipfile.ZipFile(r"D:\python\fate.zip") passFile = open(r"D:\python\pwd.txt") for line in passFile.readlines(): password = line.strip('\n') # noinspection PyBroadException try: zFile.extractall(pwd=password.encode("utf=8")) print("password="+password) except Exception as e: pass
需要注意的是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__"使函数只在当前模块运行,当被导入时不运行
结语
以上就是利用字典破解zip文件的全部内容
上一文章:web安全入门路线及资源整理
下一文章:网络安全行业入门的职业各项介绍
相关推荐
- 03-07专业接单黑客联系方式,网络黑客高手的联系方
- 10-10程序员在编程前要准备哪些工作?
- 09-09古典密码学基本原理和Base64算法原理
- 01-15linux有必要学吗?学linux有什么作用,学linu
- 10-08计算机网络:常见的网络攻击方式!黑客惯用的
- 01-14想学程序员又是零基础能学吗?
- 01-13学程序员需要什么基础?想学编程请问该怎么入
- 01-12web渗透需要哪些知识?
- 04-29如何让小学生成为黑客,小学生黑客怎么学,小
- 03-29如何成为一名黑客?怎么从0开始学黑客
- 03-03阿里云服务器1折购买,活动长期有效
- 05-31盘点世界上最出名的十大黑客(每个都能改变历
- 02-21国外黑客最常使用的5大黑客工具
- 11-26人工智能编程课程的内容是什么?