| 关键词: nbsp Chr num Function rar 函数 13 10 输入 path |
在neeao的站上看了这段代码,不过由于可能是网站粘贴原因等,代码里有一些小错误,我修改了,现在没有错了。代码如下: '本段程序由方窗原创,仅供学习参考,如果转帖请注明作者…'方窗主页: http://blog.csdn.net/fangchuang '方窗QQ : 353237850'大家不妨也尝试着自己做做,或修改本代码。'大家注意路径这个代码中输入的路径不能含有空格(包括名字)否者会找不到路径。'为了解决速度问题,采用了分段破译,具体请大家自己体会啦(精华哦!~~~)'—title是我做的标题,在输出输入框中你会发现它。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)&"例 如:C:\jiemi.rar或C:\jiemi.zip",title)If rar_path="" Then Exit Function End IfIf fso.fileExists(rar_path) Thennum1=InputBox("密码长度最小值"&Chr(13)&Chr(10)&""&Chr(13)&Chr(10))If rar_path="" Then Exit Function End Ifnum2=InputBox("密码长度最大值"&Chr(13)&Chr(10)&""&Chr(13)&Chr(10)&"注意:比密码最小值要大",title)If rar_path="" Then Exit Function End IfIf num2 > num1 Thenspeed=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 '重要函数调用Elsemsg2=MsgBox ("请注意最大值要大于最小值"&Chr(13)&Chr(10)&""&Chr(13)&Chr(10)&"是否重新输入",1,title)If msg2=1 Then input() End IfEnd IfElsemsg1=MsgBox ("您输入的路径不正确"&Chr(13)&Chr(10)&""&Chr(13)&Chr(10)&"是否重新输入",1,title)If msg1=1 Then input() End IfEnd IfEnd Function'—这是个用于衔接的函数,讲主题与输入框挂钩,在input()函数中你能发现它,这个选择句函数肩负的丢用最重要的函数结构import(形参…)Function code(num1,num2,rar_path,speed)Select Case speedCase 1import 1,num1,num2,rar_pathCase 2import 2,num1,num2,rar_pathCase 3import 3,num1,num2,rar_pathCase 4import 4,num1,num2,rar_pathCase 5import 5,num1,num2,rar_pathEnd SelectEnd Function'—所有的关键都是为了调用下部函数做的铺垫,你能发现我利用For循环来定义我的数组,同时对每个数组也执行相应的动作(很方便,建议大家学会)Function import(number,num1,num2,rar_path)On Error Resume NextDim cipher(100),count(100),Result(100)pathname=fso.getbasename(rar_path)winrar="C:\PROGRA~1\WinRAR\WinRAR.exe"For i=1 To numberIf i = 1 Then count(i) = num1 Else count(i) = (Int(num2*(i-1)/number)+1) End IfNextFor counter = num1 To Int(num2/number)For j=1 To numbercipher(j)=Array(count(j))Result(j)=WshShell.Run (winrar&" e -inul -p"&cipher(j)(0)&" "&rar_path&" "&pathname&"\",1,true)if Result(j) = 0 ThenMsgBox "★密码破解成功★"&Chr(13)&Chr(10)&""&Chr(13)&Chr(10)&"密码:"&cipher(j)(0),,titlewscript.quitend Ifcount(j)=count(j)+1NextNextEnd Function'—这里的细节也不多说了,主要还是时间问题,大家应该都是高手,一目了然,下面的就是实现整体挂钩后的丢用函数了…input() |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|