首先要搞清楚如何用命令行來解壓縮,經研究,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位純數字或者字母,只需要十多秒就出來了,非常簡單