实现winrar密码破解的vbs代码

所属分类: 脚本专栏 / vbs 阅读数: 1278
收藏 0 赞 0 分享
复制代码 代码如下:

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 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="C:\PROGRA~1\WinRAR\WinRAR.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(num2/number)
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()

作者:lixvqing
更多精彩内容其他人还在看

运行vbs脚本报错无效字符、中文乱码的解决方法(编码问题)

今天在写一个vbs的时候,发现中文乱码,后来写好代码正常运行的代码压缩一下给了同事,发现报无效字符,经过验证后发现原来是编码的问题导致,这里就为大家分享一下
收藏 0 赞 0 分享

VBS打开当前脚本所在文件夹

有时候我们需要获取当前vbs脚本所在的文件夹,或者运行当前脚本文件夹中的文件那么就需要参考下面的代码了
收藏 0 赞 0 分享

vbs 读写注册表之系统启动项添加与删除

这篇文章主要介绍了vbs 读写注册表之系统启动项添加值,需要的朋友可以参考下
收藏 0 赞 0 分享

拖拽文件显示文件路径的vbs代码

这篇文章主要介绍了拖拽文件显示文件路径的vbs代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS遍历Excel工作表的实现代码

这篇文章主要介绍了VBS遍历Excel工作表的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

使用VBS浏览本地文件的3种方式,获取完整路径

这篇文章主要介绍了使用VBS浏览本地文件的3种方式,获取完整路径,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS进程判断代码

这篇文章主要介绍了VBS进程判断代码,用来检测windows的某个进程是否正常运行,之前脚本之家分享过bat中判断进程的代码
收藏 0 赞 0 分享

VBS遍历文件或文件夹路径输入文件的所有绝对路径(附源码)

这篇文章主要介绍了VBS遍历文件或文件夹路径输入文件的所有绝对路径的代码,需要的朋友可以参考下
收藏 0 赞 0 分享

ActiveX部件不能创建对象:dm.dmsoft代码:800A01AD

vbs调用插件报:ActiveX部件不能创建对象,代码:800A01AD,一般是因为病毒导致dll文件丢失或者64系统问题导致,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs ping实现的两种方式

这篇文章主要介绍了vbs ping实现的两种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享
查看更多