是暴力破解,是把所有的密码进行的遍历,也就是从1到。。。。无穷的列举出来importitertoolsasits##这个库,python自带的importrarfile#这个是操作rar压缩包的,如果你需要破解别的密码的话,比如pdf,那么请你安装下...
是暴力破解,是把所有的密码进行的遍历,也就是从1到。。。。无穷的列举出来
import itertools as its ##这个库,python自带的
import rarfile #这个是操作rar压缩包的,如果你需要破解别的密码的话,比如pdf,那么请你安装下pdf的第三方库
### 这个根据需要来,这边测试的是破解rar压缩包
path1 = "E:\\python2\\rar\\1.rar" # 需要解压的文件路径及地址
path2 = "E:\\python2\\rar" # 需要解压到的文件夹地址
##下面的是你的密码可能用的字符#
words = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'( )*+,-./:;<=>?@[]^_`{|}~" ##密码里面含有大小写字母,数字以及特殊符号
re=4 ##这个是与下面的repeat相对应的,代表你需要生成几位的数组。这里是4,代表生成4位的数组。
while 2>1:
r = its.product(words,repeat=re)
for i in r:
# print(type(i))
a ="".join(i) ##通过.join将数组里面的元素转换成字符串
print("当前测试密码:",a)
###尝试测试密码,如果错误continue,进入下一次循环
try:
rf = rarfile.RarFile(path1) # pwd为解压密码
rf.extractall(path=path2, pwd=a)
print('密码破解成功:',a)
exit(0)
except Exception as e:
print(e)
continue
else:
re+=1 ###如果将所有的4位字符组合尝试完成后,还是没有破解到密码,那么会将4再加上1,进行5位数的破解(这里没有具体写出,为了代码的整洁,没有写出如何循环到5位数密码)
全文详见:http://xpxw.com/?id=164