Python之zip文件暴力破解

zipfile

zipfile模块基本使用

#使用 zipfile 压缩文件

import zipfile

#创建一个zip文件对象,压缩是需要把mode改为‘w’
zfile=zipfile.ZipFile("test.zip","w")

#将文件写入zip文件中,即将文件压缩
zfile.write(r"../test.py")

#将zip文件对象关闭
zfile.close()

#####################

#使用 zipfile 解压文件

import zipfile

#解压
zfile=zipfile.ZipFile("../test.zip","r")

zfile.extractall()

准备一个带密码的zip格式的压缩文件,准备一个password,开始爆破。

源码如下:

import zipfile

# 创建passwd列表存入password.txt每一个密码
passwd = []

# 打开password.txt进行读取,编码'utf-8'
passwordFile = open('password.txt', 'r', encoding='utf-8')
# 把password.txt每一项存入pwdlines中
pwdlines = passwordFile.readlines()

zfile = zipfile.ZipFile('./data.zip') # 填入压缩文件名,这里是test.zip

# 遍历pwdlines列表去除'\n',并存入passwd列表中
for line in pwdlines:
    passwd.append(line.strip())
    pass

# 定义变量i为1,循环初始值
i = 1

# 遍历,把passwd列表中的每一项取出进行密码爆破~~
for pwd in passwd:
    try:
        # 如果爆破成功,返回信息并停止
        zfile.extractall('./', pwd=pwd.encode())
        print('破解成功,密码是:{}'.format(pwd))
        break
    except:
        # 如果单次爆破失败,则一直尝试,直到破解成功或字典耗尽结束
        print('正在尝试第{}次破解'.format(i))
        i += 1
        pass

参考链接:https://www.iculture.cc/forum-post/5041

作者:拾瑾
个性签名:愿历经千帆,归来仍少年.
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文地址:https://www.cnblogs.com/ayoung/p/15675937.html