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

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

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

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

# 生成6为纯数字密码文件

# 生成并打开密码文件
f = open("D:/password.txt","w")

# 生成6为数字
for id in range(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)
        break
    except:
        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 in range(0,999999,1):

	# 去除换行符
    passwd = line.rstrip('\n')

    # 解压ZIP加密文件
    try:
        passwd = str(number)
        zip_file.extractall(pwd=passwd.encode('utf-8'))
        print("压缩包解密成功,密码为:" + passwd)
        break
    except:
        pass

zip_file.close()

passwd_file.close()

运行结果

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

你可能感兴趣的:(python)