本帖最后由 孤独浪子 于 2010-5-14 11:57 编辑
打开记事本复制以下代码,并另存为xxx.vbs(名字可以自己起,但一定要是.vbs的后掇名。保存类型 要选 所有文件 )
推荐用nod32 2.xx版的,暂用内存小,杀毒快。- Option Explicit
- Dim theURL : theURL = "http://hi.baidu.com/lazivip" '
- Const MyName = "GetValidID"
- Const MyVersion = &H1016
- Const HKeyLocalMachine = "HKEY_LOCAL_MACHINE"
- Const HKEY_LOCAL_MACHINE = &H80000002
- Const RegEset30 = "SOFTWARE\Eset\ESET Security\CurrentVersion\Plugins1000400\Profiles\@My profile"
- Const RegEset27 = "SOFTWARE\Eset\Nod\CurrentVersion\Modules\Update\Settings\Config000\Settings"
- Const UserStartup = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Startup"
- Dim RegEset : RegEset = RegEset30
- Dim str : str = ""
- Dim ids
- Dim un : un = ""
- Dim pw : pw = ""
- Dim PassBytesA : PassBytesA = Array(&H61, &HD4, &HDD, &HFB, &H5B, &H35, &HB7, &H19, &HEC, &H2B)
- Dim PassBytesB : PassBytesB = Array(&HD6, &HE9, &HF0, &HF2, &H64, &HAD, &HC8, &H75, &H31, &HBC)
- Dim oShell : Set oShell = CreateObject("WScript.Shell")
- Dim oFso : Set oFso = CreateObject("Scripting.FileSystemObject")
- Dim oXmlHttp : Set oXmlHttp = CreateObject("Msxml2.XMLHTTP")
- Dim StartupPath : StartupPath = oShell.RegRead(UserStartup)
- If Wsh.Arguments.Count > 0 Then If Wsh.Arguments(0) = "v" Then Wsh.Quit MyVersion
- If Wsh.Arguments.Count <> 0 Then Wsh.Quit -254
- If oShell.CurrentDirectory <> StartupPath Then
- Dim StartupFullPath : StartupFullPath = StartupPath & "" & MyName & ".vbs"
- End If
- On Error Resume Next
- oShell.RegRead "HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Info\ProductVersion"
- If Err.Number <> 0 Then
- On Error Resume Next
- oShell.RegRead "HKEY_LOCAL_MACHINE\SOFTWARE\ESET\NOD\CurrentVersion\Info\CurrentVersion"
- If Err.Number <> 0 Then
- Wsh.Echo "本机没有安装ESET产品"
- Wsh.Quit -128
- End If
- RegEset = RegEset27
- End If
- On Error Goto 0
- With oXmlHttp
- .Open "GET", theURL, False
- .SetRequestHeader "Pragma", "no-cache"
- .SetRequestHeader "Cache-Control", "no-cache"
- On Error Resume Next
- .Send
- If Err.Number <> 0 Then
- Wsh.Echo "连接不上ID分发网站"
- Wsh.Quit -1
- End If
- On Error Goto 0
- If .Status <> 200 Then
- Wsh.Echo "ID分发网页有错误"
- Wsh.Quit -2
- End If
- With New RegExp
- .IgnoreCase = True
- .Global = True
- .Pattern = "(?:NOD32升级用户名称)\s*:\s*(EAV-\d+)[\s\S]*?(?:NOD32升级密码)\s*:\s*(\w+)"
- Dim match
- For Each match In .Execute(oXmlHttp.responseText)
- str = str & match.SubMatches(0) & ":" & _
- match.SubMatches(1) & vbcrlf
- Next
- 'Wsh.Echo str : Wsh.Quit
- End With
- If Len(str) = 0 Then
- Wsh.Echo "在ID分发网页内找不到任何ID"
- Wsh.Quit -4
- End If
- Dim i, j, m, k, u, tmp
- Randomize
- ids = Split(str, vbcrlf)
- i = Abs(UBound(ids) - 1)
- if i > 15 then i = 15
- ReDim rand(i)
- For j = 0 To i : rand(j) = j : Next
- For j = 0 To i
- k = Fix(Rnd() * (i + 1)) : u = Fix(Rnd() * (i + 1))
- m = rand(k) : rand(k) = rand(u) : rand(u) = m
- Next
- For j = 0 To i : Do
- un = "" : pw = ""
- tmp = Split(ids(rand(j)), ":")
- un = Trim(tmp(0)) : pw = Trim(tmp(1))
- If un = "" Or pw = "" Then Exit Do
- .Open "GET", "http://update.eset.com/download/engine3/em000_32_l0.nup", _
- False, un, pw
- On Error Resume Next
- .Send
- If Err.Number <> 0 Then
- Wsh.Echo "连接不上ESET官址进行验证..."
- Wsh.Quit -1
- End If
- On Error Goto 0
- If .Status <> 200 And .Status <> 304 Then Exit Do
- ReDim binarr((Len(pw) - 1) * 2 + 1)
- For k = 0 To UBound(PassBytesA)
- binarr(k * 2) = Asc(Mid(pw, k + 1, 1)) Xor PassBytesA(k)
- binarr(k * 2 + 1) = PassBytesB(k)
- If k + 1 >= Len(pw) Then Exit For
- Next
- oShell.RegWrite HkeyLocalMachine & RegEset & "Username", un, "REG_SZ"
- GetObject("Winmgmts:root\default:StdRegProv")_
- .SetBinaryValue HKEY_LOCAL_MACHINE, RegEset, "Password", binarr
- oShell.Popup "随机抽选的新ID已被验证和安装" & vbcrlf & " Username: " & un & vbcrlf & _
- " Password: " & pw & vbcrlf & " (本窗会在5秒后消失)", 5, MyName, vbOKOnly + vbInformation
- Wsh.Quit 0
- Loop While False : Next
- Wsh.Echo "ID分发网页内的ID全部无效"
- Wsh.Quit -3
- End With
- Wsh.Quit 0
复制代码 |
|