python暴力破解简单的rar格式压缩密码
常常会出现如下情况:好不容易在网上找到了自己需要的资料,下载到电脑中是rar压缩包格式的。解压的时候却需要密码,没有解压密码也只有望资料兴叹。
下面介绍一下使用python暴力破解rar压缩格式的密码。
我们主要用到的是rarfile库中的extractall函数,大家可以自行百度搜索extractall函数的用法,这里不做过多介绍。
源代码如下:
#############################################
#rar压缩文件暴力破解程序
#版本:v1.0
#作者:世间小树
#时间:2020.9.15
#############################################
import itertools
import string
import rarfile
import sys
path = "new.rar" #文件路径
myrar = rarfile.RarFile(path,'r')
i=1
chars=string.digits+string.ascii_letters #密码组成:数字+字母(包括大小写)
def bruteforce(myrar,password):
"""强行破解密码"""
try:
myrar.extractall(pwd=password.encode())
return True
except Exception as e:
print('尝试密码错误:',password)
return False
while i<=4: #密码位数,不大于4位
passwords=itertools.product(chars,repeat=i)
for item in passwords:
pwd=''.join(item)
if bruteforce(myrar,pwd):
print("正确密码是:"+pwd)
myrar.close()
sys.exit() #退出程序
i+=1