使用vbs下载文件

使用vbs下载文件
iLocal=LCase(Wscript.Arguments(1))
iRemote=LCase(Wscript.Arguments(0))
Set xPost=createObject("Microsoft.XMLHTTP")
xPost.Open "GET",iRemote,0
xPost.Send()
set sGet=createObject("ADODB.Stream")
sGet.Mode=3
sGet.Type=1
sGet.Open()
sGet.Write xPost.ResponseBody
sGet.SaveToFile iLocal,2

当你把这段代码保存为vbs的时候,杀毒软件可能就开始报警了;而且使用中cscript.exe会访问网络,不太隐蔽。
那么,有没有更好的方法呢?答案很明显:-)
我们可以利用一个叫InternetExplorer.Application的对象(其实就是个IE啦)下载文件。但是貌似这个组件不能直接下载保存文件,只好曲线救国了。因为IE是把文件下载到本地缓存的,我们可以让IE组件先把文件下载到缓存,然后再从缓存找到并copy至我们需要保存的位置。其实这个思路是从一个网马看到的:)
为了让IE把我们的exe文件下载到本地缓存,我们需要有一个网页把exe文件包含进去。比如:<script src="520.exe"></script>。这样当IE访问该页面的时候就会把520.exe当成js脚本保存到本地缓存了。保存的命名一般是520[1].exe,IE临时文件的位置可以从注册表键值 HKLM\Software\Microsoft\
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
-5s", "acc")); } else if (j > 0) { System.out.print(String.format("%-5s", "s" + j)); } else { System.out.print(String.format("%-5s", "r" + (-j - 1))); } } int j = actionTable[i]['$']; if (j == 1) { System.out可以使用以下VBS脚本下载文件: ``` Dim url, savePath, http, stream url = "https://www.println(String.format("%-5s", "acc")); } else { System.out.println(String.format("%-5s", "")); .example.com/file.zip" '要下载文件的URL地址 savePath = "C:\Downloads\file.zip" '文件保存路径 } } System.out.println(); } // 打印GOTO表 private static void printGotoTable() { System.out.println("GOTO表:"); System.out.print(String.format("%-5s", "")); for (char symbol :Set http = CreateObject("WinHttp.WinHttpRequest.5.1") http.Open "GET", url, False http.Send If http getNonTerminalSymbols()) { System.out.print(String.format("%-5s", symbol)); } System.out.println(); for.Status = 200 Then Set stream = CreateObject("ADODB.Stream") stream.Open stream.Type = 1 (int i = 0; i < itemSets.size(); i++) { System.out.print(String.format("%-5d", i)); for (char symbol : getNonTerminalSymbols()) { int j = gotoTable[i][getRuleIndex(symbol)]; if ( stream.Write http.ResponseBody stream.SaveToFile savePath, 2 stream.Close End If ``` 在上面的脚j == 0) { System.out.print(String.format("%-5s", "")); } else { System.out.print(String.format本中,`url`是要下载文件的URL地址,`savePath`是要将文件保存的本地路径。脚("%-5d", j)); } } System.out.println(); } } // 获取所有终结符 private static Set<Character> getTerminalSymbols() { Set<Character> terminals = new HashSet<>(); for (Rule rule : rules)本使用`WinHttp.WinHttpRequest`对象来发送GET请求并获取响应。如果响应状态为200,则使用`ADODB { for (int i = 0; i < rule.rhs.length(); i++) { if (isTerminal(rule.rhs.charAt.Stream`对象来将响应正文写入文件中。 需要注意的是,如果要下载文件比较大,可能(i))) { terminals.add(rule.rhs.charAt(i)); } } } terminals.add('$'); return terminals; 需要较长时间才能完成下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值