admin 管理员组

文章数量: 1184232

python使用pyzipper破解ZIP加密压缩文件

pyzipper是一种用于Python的替代zipfile,
zipfile只支持ZipCrypto(Zip传统加密)算法的破解,面对如今的压缩软件加密体系,已经不适用了。
pyzipper可以读取和写入加密AES zip文件。

方法一:根据生成的6位纯数字密码文件破解ZIP加密文件

# 生成6为纯数字密码文件# 生成并打开密码文件
f =open("D:/password.txt","w")# 生成6为数字foridinrange(10000000):
    password =str(id).zfill(6)+'\n'
    f.write(password)# 关闭文件
f.close()

安装第三方包

pip install pyzipper
import pyzipper
# 检查ZIP文件是否存在try:
    zip_file = pyzipper.AESZipFile('D:/test.zip','r')except:print("压缩文件不存在")# 检查密码文件是否存在try:
    passwd_file =open('D:/password.txt')except:print("解密文件不存在")# 读取密码文件数据for line in passwd_file.readlines():# 去除换行符
    passwd = line.rstrip('\n')# 解压ZIP加密文件try:
        zip_file.extractall(pwd=str.encode(passwd))print("压缩包解密成功,密码为:"+ passwd)breakexcept:pass
zip_file.close()
passwd_file.close()

运行结果

压缩包解密成功,密码为:123456

方法二:不需要生成密码文件破解ZIP加密文件

import pyzipper
# 检查ZIP文件是否存在try:
    zip_file = pyzipper.AESZipFile('D:/test.zip','r')except:print("压缩文件不存在")# 检查密码文件是否存在try:
    passwd_file =open('D:/password.txt')except:print("解密文件不存在")# 读取密码文件数据for number inrange(0,999999,1):# 去除换行符
    passwd = line.rstrip('\n')# 解压ZIP加密文件try:
        passwd =str(number)
        zip_file.extractall(pwd=passwd.encode('utf-8'))print("压缩包解密成功,密码为:"+ passwd)breakexcept:pass
zip_file.close()
passwd_file.close()

运行结果

压缩包解密成功,密码为:123456

本文标签: 存在 系统 文件是否