python简单利用字典破解zip文件口令

作者:极天の流星雨 时间:2023-06-27 05:36:31 

前几天在一本书上看到一篇可以利用字典破解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__"使函数只在当前模块运行,当被导入时不运行

结语

来源:https://blog.csdn.net/QuiltKing/article/details/108420969

标签:python,破解,zip文件
0
投稿

猜你喜欢

  • Python图像增强imgaug详解

    2022-02-07 17:07:40
  • MS Server和Oracle中对NULL处理的一些细节差异

    2009-06-10 17:35:00
  • python中slice参数过长的处理方法及实例

    2023-07-13 13:12:10
  • asp.net aspnetpager分页统计时与实际不符的解决办法

    2023-06-30 04:02:32
  • vue3获取当前路由地址

    2024-05-09 15:13:36
  • python实现双人五子棋(终端版)

    2022-08-26 14:28:57
  • 基于域名的方式访问Istio服务网格中的多个应用程序的方法详解

    2022-04-07 11:39:56
  • PHP日期函数date格式化UNIX时间的方法

    2024-06-05 09:47:14
  • 用VBS语言实现的网页计算器源代码

    2007-12-26 17:09:00
  • antd table按表格里的日期去排序操作

    2024-04-28 10:55:56
  • pandas按若干个列的组合条件筛选数据的方法

    2023-10-27 03:49:07
  • python破解WiFi教程代码,Python蹭网原理讲解

    2022-09-05 20:14:43
  • 30秒学会30个超实用Python代码片段【收藏版】

    2021-08-04 17:13:32
  • Django框架获取form表单数据方式总结

    2022-08-21 14:24:29
  • MS SQL SERVER 数据库日志压缩方法与代码

    2024-01-13 04:24:00
  • ASP获取远程文件大小信息(通过header头信息)

    2010-03-11 21:25:00
  • Python动态演示旋转矩阵的作用详解

    2022-08-21 02:35:15
  • Linux下mysql5.6.24(二进制)自动安装脚本

    2024-01-21 12:36:42
  • VS2013设置护眼背景颜色

    2023-06-28 12:59:02
  • GraphQL在Django中的使用教程

    2023-02-20 18:11:31
  • asp之家 网络编程 m.aspxhome.com