title=WinRaR破译(目前只做了破译数字)
set WshShell = CreateObject(WScript.Shell )
set fso = CreateObject(scripting.filesystemobject)
Function input()
rar_path=InputBox(请输要解密的rar或zip入路径&Chr(13)&Chr(10)&&Chr(13)&Chr(10)&例如Cjiemi.rar或Cjiemi.zip,title)
If rar_path= Then Exit Function End If
If fso.fileExists(rar_path) Then
num1=InputBox(密码长度最小值&Chr(13)&Chr(10)&&Chr(13)&Chr(10)&例如0,title)
If rar_path= Then Exit Function End If
num2=InputBox(密码长度最大值&Chr(13)&Chr(10)&&Chr(13)&Chr(10)&注意比密码最小值要大,title)
If rar_path= Then Exit Function End If
If num2 num1 Then
speed=InputBox(请选择解密的速度(建议选3)&Chr(13)&Chr(10)&密码范围短则建议选选小于3(默认为3)&Chr(13)&Chr(10)&&Chr(13)&Chr(10)&1一倍速度&Chr(13)&Chr(10)&&Chr(13)&Chr(10)&2二倍速度&Chr(13)&Chr(10)&&Chr(13)&Chr(10)&3三倍速度&Chr(13)&Chr(10)&&Chr(13)&Chr(10)&4四倍速度&Chr(13)&Chr(10)&&Chr(13)&Chr(10)&5五倍速度,title)
code num1,num2,rar_path,speed '重要函数调用
Else
msg2=MsgBox (请注意最大值要大于最小值&Chr(13)&Chr(10)&&Chr(13)&Chr(10)&是否重新输入,1,title)
If msg2=1 Then input() End If
End If
Else
msg1=MsgBox (您输入的路径不正确&Chr(13)&Chr(10)&&Chr(13)&Chr(10)&是否重新输入,1,title)
If msg1=1 Then input() End If
End If
End Function
Function code(num1,num2,rar_path,speed)
Select Case speed
Case 1
import 1,num1,num2,rar_path
Case 2
import 2,num1,num2,rar_path
Case 3
import 3,num1,num2,rar_path
Case 4
import 4,num1,num2,rar_path
Case 5
import 5,num1,num2,rar_path
End Select
End Function
Function import(number,num1,num2,rar_path)
On Error Resume Next
Dim cipher(100),count(100),Result(100)
pathname=fso.getbasename(rar_path)
winrar=CPROGRA~1WinRARWinRAR.exe
For i=1 To number
If i = 1 Then count(i) = num1 Else count(i) = (Int(num2(i-1)number)+1) End If
Next
For counter = num1 To Int(num2number)
For j=1 To number
cipher(j)=Array(count(j))
Result(j)=WshShell.Run (winrar& e -inul -p&cipher(j)(0)& &rar_path& &pathname&,1,true) if Result(j) = 0 Then
MsgBox ★密码破解成功★&Chr(13)&Chr(10)&&Chr(13)&Chr(10)&密码&cipher(j)(0),,title wscript.quit
end If
count(j)=count(j)+1
Next
Next
End Function
input()