
首先要搞清楚如何用命令行来解压缩,经研究,rar软件解压唯颤是用的unrar.exe,将这个程序拷贝到C:\windows,然后进入加密软件包所在的文件夹,用命令行运行 下面的命令:
unrar.exe e -pabcd 123.rar
程序就是先前拷到C:\windows,然后参数e是指相对路径,如果在是本文件夹下运行这个命令,则只打文件名就可以了,输入密码的方式是-p后面的字段,假定是abcd,最后面的是要解压的文件名。
下面我们解决如何用Python来运行windows下的命令行
import subprocess
command = 'unrar.exe e -n -pabcd 123.rar'
subprocess.call(command)
这样也可以完成解压,既然这样,那就开干吧,写一个暴力循环,我以4位字母为例,字母加的不全,实际使用可以视情况添加
list1=['a','b','c','d']
list2=['a','b','c','d']
list3=['a','b','c','d']
list4=['a','b','c','d']
for i1 in range(0,len(list1),1):
for i2 in range(0,len(list2),1):
for i3 in range(0, len(list3), 1):
for i4 in range(0, len(list4), 1):
password=list1[i1]+list2[i2]+list3[i3]+list4[i4]
print(password)
command = 'unrar.exe e -n -p' + password + ' 123.rar'
child = subprocess.call(command)
if child == 0:
print('解压密码是:',password)
break
child是返回值,为0表示解压成功,可以挑出循环并打印密码了,我实测,4位纯数字或者字母,只需陆扮要十多秒就出来了,非常简单
6个字符:22.5亿个组合(无特殊字符)1. 由每秒攻击站点 10000 次的 Web 程序:需要3.7周
2. 脱机使用高功率的服务器闹旅族或者台式机(1000亿/秒):0.0224秒
3. 使用大规模的并行处理器集群(100兆亿液弊/秒):0.0000224秒
6个字符:7.6万亿个组合(有特殊字符)
1. 由每秒攻击站点 10000 次的 Web 程序:需要2.4个世纪
2. 脱镇芹机使用高功率的服务器或者台式机(1000亿/秒):1.26分钟
3. 使用大规模的并行处理器集群(100兆亿/秒):0.0756秒
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)