Vbscript 使用VBS下载并执行

Vbscript 使用VBS下载并执行,vbscript,download,shellexecute,Vbscript,Download,Shellexecute,我正在尝试编写一个简单的VBS脚本来下载和执行一个文件。通过wireshark,我可以验证文件是否正在从Web服务器检索,但下载时不会执行。我在“执行”行得到一个“无效字符”。我做错了什么 Set x=CreateObject("Microsoft.XMLHTTP") x.Open "GET","http://website/file.exe",False x.Send Execute x.responseText 我还想从GET请求中删除“If Modified Since”头 您没有将其保

我正在尝试编写一个简单的VBS脚本来下载和执行一个文件。通过wireshark,我可以验证文件是否正在从Web服务器检索,但下载时不会执行。我在“执行”行得到一个“无效字符”。我做错了什么

Set x=CreateObject("Microsoft.XMLHTTP")
x.Open "GET","http://website/file.exe",False
x.Send
Execute x.responseText

我还想从GET请求中删除“If Modified Since”头

您没有将其保存到磁盘,因此无需执行任何操作。其他事情是错误的。无法将文本用于二进制,文本将自动转换。同样,我们必须使用二进制流来保存它

将以下行放入文本文件中。将其命名为safetyscanner.vbs并放在桌面上

对于32位Windows

 Set fso = CreateObject("Scripting.FileSystemObject")
 Set Outp = Wscript.Stdout
 On Error Resume Next
 Set File = WScript.CreateObject("Microsoft.XMLHTTP")
 File.Open "GET", "http://definitionupdates.microsoft.com/download/definitionupdates/safetyscanner/x86/msert.exe", False
 File.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; .NET4.0E; BCD2000; BCD2000)"
 File.Send
 If err.number <> 0 then 
  Outp.writeline "" 
  Outp.writeline "Error getting file" 
  Outp.writeline "==================" 
  Outp.writeline "" 
  Outp.writeline "Error " & err.number & "(0x" & hex(err.number) & ") " & err.description 
  Outp.writeline "Source " & err.source 
  Outp.writeline "" 
  Outp.writeline "HTTP Error " & File.Status & " " & File.StatusText
  Outp.writeline  File.getAllResponseHeaders
  Outp.writeline Arg(1)
 End If

On Error Goto 0

 Set BS = CreateObject("ADODB.Stream")
 BS.type = 1
 BS.open
 BS.Write File.ResponseBody
 BS.SaveToFile "c:\users\safetyscanner.exe", 2
Set fso=CreateObject(“Scripting.FileSystemObject”)
Set Outp=Wscript.Stdout
出错时继续下一步
Set File=WScript.CreateObject(“Microsoft.XMLHTTP”)
文件。打开“获取”http://definitionupdates.microsoft.com/download/definitionupdates/safetyscanner/x86/msert.exe”“错
File.setRequestHeader“用户代理”、“Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.0;Trident/4.0;SLCC1;.NET CLR 2.0.50727;Media Center PC 5.0;.NET CLR 1.1.4322;.NET CLR 3.5.30729;.NET CLR 3.0.30618;.NET4.0C;.NET4.0E;BCD2000;BCD2000)”
文件。发送
如果错误号为0,则
输出写入线“”
Outp.writeline“获取文件时出错”
Outp.writeline“=================================================”
输出写入线“”
Outp.writeline“Error”&err.number&“(0x”&十六进制(err.number)&“”&err.description
Outp.writeline“Source”和err.Source
输出写入线“”
Outp.writeline“HTTP错误”&File.Status&&File.StatusText
Outp.writeline File.getAllResponseHeaders
输出写入线参数(1)
如果结束
错误转到0
设置BS=CreateObject(“ADODB.Stream”)
BS.type=1
英国公开赛
BS.Write File.ResponseBody
BS.SaveToFile“c:\users\safetyscanner.exe”,2

您没有将其保存到磁盘,因此无需执行任何操作。其他事情是错误的。无法将文本用于二进制,文本将自动转换。同样,我们必须使用二进制流来保存它

将以下行放入文本文件中。将其命名为safetyscanner.vbs并放在桌面上

对于32位Windows

 Set fso = CreateObject("Scripting.FileSystemObject")
 Set Outp = Wscript.Stdout
 On Error Resume Next
 Set File = WScript.CreateObject("Microsoft.XMLHTTP")
 File.Open "GET", "http://definitionupdates.microsoft.com/download/definitionupdates/safetyscanner/x86/msert.exe", False
 File.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; .NET4.0E; BCD2000; BCD2000)"
 File.Send
 If err.number <> 0 then 
  Outp.writeline "" 
  Outp.writeline "Error getting file" 
  Outp.writeline "==================" 
  Outp.writeline "" 
  Outp.writeline "Error " & err.number & "(0x" & hex(err.number) & ") " & err.description 
  Outp.writeline "Source " & err.source 
  Outp.writeline "" 
  Outp.writeline "HTTP Error " & File.Status & " " & File.StatusText
  Outp.writeline  File.getAllResponseHeaders
  Outp.writeline Arg(1)
 End If

On Error Goto 0

 Set BS = CreateObject("ADODB.Stream")
 BS.type = 1
 BS.open
 BS.Write File.ResponseBody
 BS.SaveToFile "c:\users\safetyscanner.exe", 2
Set fso=CreateObject(“Scripting.FileSystemObject”)
Set Outp=Wscript.Stdout
出错时继续下一步
Set File=WScript.CreateObject(“Microsoft.XMLHTTP”)
文件。打开“获取”http://definitionupdates.microsoft.com/download/definitionupdates/safetyscanner/x86/msert.exe”“错
File.setRequestHeader“用户代理”、“Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.0;Trident/4.0;SLCC1;.NET CLR 2.0.50727;Media Center PC 5.0;.NET CLR 1.1.4322;.NET CLR 3.5.30729;.NET CLR 3.0.30618;.NET4.0C;.NET4.0E;BCD2000;BCD2000)”
文件。发送
如果错误号为0,则
输出写入线“”
Outp.writeline“获取文件时出错”
Outp.writeline“=================================================”
输出写入线“”
Outp.writeline“Error”&err.number&“(0x”&十六进制(err.number)&“”&err.description
Outp.writeline“Source”和err.Source
输出写入线“”
Outp.writeline“HTTP错误”&File.Status&&File.StatusText
Outp.writeline File.getAllResponseHeaders
输出写入线参数(1)
如果结束
错误转到0
设置BS=CreateObject(“ADODB.Stream”)
BS.type=1
英国公开赛
BS.Write File.ResponseBody
BS.SaveToFile“c:\users\safetyscanner.exe”,2

如果要添加等待栏,请尝试以下代码:

Option Explicit
If AppPrevInstance() Then 
    MsgBox "There is an existing proceeding !" & VbCrLF & CommandLineLike(WScript.ScriptName),VbExclamation,"There is an existing proceeding !"    
    WScript.Quit   
Else
    Dim Title,WaitingMsg,oExec,fso,Ws,Temp,objXMLHTTP,PathScript,File,FileName,strHDLocation,Outp,BS,StartTime,DurationTime
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Ws = CreateObject("wscript.Shell")
    Temp = ws.ExpandEnvironmentStrings("%Temp%")
    PathScript = fso.GetParentFolderName(wscript.ScriptFullName) 'Path of this Vbscript
    FileName = "safetyscanner.exe"
    strHDLocation = PathScript & "\" & FileName
    Set Outp = Wscript.Stdout
    Title = "Downloading "& DblQuote(FileName) &" using Vbscript by Hackoo © 2015"
    WaitingMsg = "Please wait... Downloading file "& DblQuote(FileName) &" is in progress..."
    Call CreateProgressBar(Title,WaitingMsg)'Creation of Waiting Bar
    Call LancerProgressBar() 'Launch of the Waiting Bar
    StartTime = Timer 'Start the Timer Counter
    On Error Resume Next
    Set File = WScript.CreateObject("Microsoft.XMLHTTP")
    File.Open "GET", "http://definitionupdates.microsoft.com/download/definitionupdates/safetyscanner/x86/msert.exe", False
    File.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; .NET4.0E; BCD2000; BCD2000)"
    File.Send
    If err.number <> 0 then 
        Call FermerProgressBar()'Closing Waiting Bar
        MsgBox "Error " & err.number & "(0x" & hex(err.number) & ") " & vbcr & err.description,16,err.description
        wscript.quit
    End If
    On Error Goto 0
    Set BS = CreateObject("ADODB.Stream")
    BS.type = 1
    BS.open
    BS.Write File.ResponseBody
    BS.SaveToFile strHDLocation,2
    BS.Close
    Set BS = Nothing
    Set File = Nothing
    DurationTime = FormatNumber(Timer - StartTime, 0) & " seconds." 'The duration of the script
    Call FermerProgressBar() 'Closing Waiting Bar
    ws.Popup "The Download of " & Dblquote(FileName) & " is finished in " & DurationTime &" !","5","The Download of " & Dblquote(FileName) & " is finished in " & DurationTime &" !",64
    ws.run DblQuote(strHDLocation) ' To Execute The file after the downloading process
End If
'***********************************************************************************************************
Sub CreateProgressBar(Title,WaitingMsg)
    Dim ws,fso,f,f2,ts,ts2,Ligne,i,fread,LireTout,NbLigneTotal,Temp,PathOutPutHTML,fhta,oExec
    Set ws = CreateObject("wscript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    Temp = WS.ExpandEnvironmentStrings("%Temp%")
    PathOutPutHTML = Temp & "\Barre.hta"
    Set fhta = fso.OpenTextFile(PathOutPutHTML,2,True)
    fhta.WriteLine "<HTML>"
    fhta.WriteLine "<HEAD>"
    fhta.WriteLine "<Title>  " & Title & "</Title>"
    fhta.WriteLine "<HTA:APPLICATION"
    fhta.WriteLine "ICON = ""magnify.exe"" "
    fhta.WriteLine "BORDER=""THIN"" "
    fhta.WriteLine "INNERBORDER=""NO"" "
    fhta.WriteLine "MAXIMIZEBUTTON=""NO"" "
    fhta.WriteLine "MINIMIZEBUTTON=""NO"" "
    fhta.WriteLine "SCROLL=""NO"" "
    fhta.WriteLine "SYSMENU=""NO"" "
    fhta.WriteLine "SELECTION=""NO"" "
    fhta.WriteLine "SINGLEINSTANCE=""YES"">"
    fhta.WriteLine "</HEAD>"
    fhta.WriteLine "<BODY text=""white""><CENTER>"
    fhta.WriteLine "<marquee DIRECTION=""LEFT"" SCROLLAMOUNT=""3"" BEHAVIOR=ALTERNATE><font face=""Comic sans MS"">" & WaitingMsg &"</font></marquee>"
    fhta.WriteLine "<img src=""data:image/gif;base64,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"" />"
    fhta.WriteLine "</CENTER></BODY></HTML>"
    fhta.WriteLine "<SCRIPT LANGUAGE=""VBScript""> "
    fhta.WriteLine "Set ws = CreateObject(""wscript.Shell"")"
    fhta.WriteLine "Temp = WS.ExpandEnvironmentStrings(""%Temp%"")"
    fhta.WriteLine "Sub window_onload()"
    fhta.WriteLine "    CenterWindow 490,110"
    fhta.WriteLine "    Self.document.bgColor = ""DarkOrange"" "
    fhta.WriteLine " End Sub"
    fhta.WriteLine " Sub CenterWindow(x,y)"
    fhta.WriteLine "    Dim iLeft,itop"
    fhta.WriteLine "    window.resizeTo x,y"
    fhta.WriteLine "    iLeft = window.screen.availWidth/2 - x/2"
    fhta.WriteLine "    itop = window.screen.availHeight/2 - y/2"
    fhta.WriteLine "    window.moveTo ileft,itop"
    fhta.WriteLine "End Sub"
    fhta.WriteLine "</script>"
    fhta.close
End Sub
'**********************************************************************************************
Sub LancerProgressBar()
    Set oExec = Ws.Exec("mshta.exe " & Temp & "\Barre.hta")
End Sub
'**********************************************************************************************
Sub FermerProgressBar()
    oExec.Terminate
End Sub
'**********************************************************************************************
Function DblQuote(Str)
    DblQuote = Chr(34) & Str & Chr(34)
End Function
'**********************************************************************************************
Function AppPrevInstance()   
    With GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")   
        With .ExecQuery("SELECT * FROM Win32_Process WHERE CommandLine LIKE " & CommandLineLike(WScript.ScriptFullName) & _
            " AND CommandLine LIKE '%WScript%' OR CommandLine LIKE '%cscript%'")   
            AppPrevInstance = (.Count > 1)   
        End With   
    End With   
End Function   
'**************************************************************************
Function CommandLineLike(ProcessPath)   
    ProcessPath = Replace(ProcessPath, "\", "\\")   
    CommandLineLike = "'%" & ProcessPath & "%'"   
End Function
'**************************************************************************
选项显式
如果是AppPrevInstance(),则
MsgBox“有一个现有的程序!”&VbCrLF&CommandLineLike(WScript.ScriptName),vb惊叹号,“有一个现有的程序!”
WScript.Quit
其他的
Dim Title、WaitingMsg、oExec、fso、Ws、Temp、objXMLHTTP、PathScript、文件、文件名、strHDLocation、Outp、BS、StartTime、DurationTime
设置fso=CreateObject(“Scripting.FileSystemObject”)
设置Ws=CreateObject(“wscript.Shell”)
Temp=ws.ExpandEnvironmentStrings(“%Temp%”)
PathScript=fso.GetParentFolderName(wscript.ScriptFullName)'此Vbscript的路径
FileName=“safetyscanner.exe”
strHDLocation=PathScript&“\”文件名
Set Outp=Wscript.Stdout
Title=“下载”&DblQuote(文件名)&DblQuote“Hackoo使用Vbscript©2015”
WaitingMsg=“请稍候…下载文件”&DblQuote(文件名)&“正在进行…”
调用CreateProgressBar(标题,WaitingMsg)创建等待栏
调用LancerProgressBar()'启动等待栏
StartTime=定时器“启动定时器计数器
出错时继续下一步
Set File=WScript.CreateObject(“Microsoft.XMLHTTP”)
文件。打开“获取”http://definitionupdates.microsoft.com/download/definitionupdates/safetyscanner/x86/msert.exe”“错
File.setRequestHeader“用户代理”、“Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.0;Trident/4.0;SLCC1;.NET CLR 2.0.50727;Media Center PC 5.0;.NET CLR 1.1.4322;.NET CLR 3.5.30729;.NET CLR 3.0.30618;.NET4.0C;.NET4.0E;BCD2000;BCD2000)”
文件。发送
如果错误号为0,则
调用FermerProgressBar()'关闭等待栏
MsgBox“Error”和err.number&“(0x”&hex(err.number)&“”&vbcr和err.description,16,err.description
wscript.quit
如果结束
错误转到0
设置BS=CreateObject(“ADODB.Stream”)
BS.type=1
英国公开赛
BS.Write File.ResponseBody
BS.SaveToFile标准位置,2
B.结束
设置BS=无
Set File=无
DurationTime=FormatNumber(Timer-StartTime,0)和“seconds.”脚本的持续时间
调用FermerProgressBar()'关闭等待栏
ws.Popup“下载”&Dblquote(文件名)&“在”&DurationTime&“!”中完成”,“下载”&Dblquote(文件名)&“在”&DurationTime&“!”中完成”,64
ws.run DblQuote(strHDLocation)“”在下载过程后执行文件
如果结束
'***********************************************************************************************************
子CreateProgressBar(标题,WaitingMsg)
Dim ws、fso、f、f2、ts、ts2、Ligne、i、fread、LireTout、NbLigneTotal、Temp、病理输出HTML、fhta、oEx