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

发布评论