You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改合法VBS下载执行代码以规避杀毒软件检测?

替换VBS下载逻辑规避杀毒软件拦截

你的原代码中使用MSXML2.XMLHTTP+ADODB.Stream的下载组合是杀毒软件的高频检测对象,以下改用PowerShell内置下载命令替换这部分逻辑,能有效降低误报概率:

修改后的完整代码

Set objShell = CreateObject("WScript.Shell")
strTempPath = objShell.ExpandEnvironmentStrings("%TEMP%")

strShortcutPath = strTempPath & "\PuTTY.lnk"
strTargetPath = "https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe"
strDownloadPath = strTempPath & "\putty.exe"

' 改用PowerShell的Start-BitsTransfer下载(微软官方传输服务,更不易被拦截)
strPSCommand = "$url = '" & strTargetPath & "'; $output = '" & strDownloadPath & "'; Start-BitsTransfer -Source $url -Destination $output"
objShell.Run "powershell -Command """ & strPSCommand & """", 0, True

' 检查下载是否成功
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strDownloadPath) Then
    ' 创建快捷方式
    Set objShellLink = objShell.CreateShortcut(strShortcutPath)
    objShellLink.TargetPath = strDownloadPath
    objShellLink.Save

    ' 执行PuTTY
    objShell.Run strShortcutPath
Else
    WScript.Echo "PuTTY下载失败,请检查网络连接或URL有效性"
End If

修改说明

  • 移除了原代码中被重点监控的MSXML2.XMLHTTP和ADODB.Stream组件,替换为Start-BitsTransfer——这是Windows系统自带的后台智能传输服务,用于合法文件传输时几乎不会被杀毒软件标记
  • 新增了文件存在性检查,避免下载失败后执行无效快捷方式
  • 用objShell.Run执行PowerShell命令时,参数0表示后台运行不显示窗口,True表示等待下载完成再继续执行后续逻辑

如果Start-BitsTransfer在某些环境下受限,也可以改用Invoke-WebRequest替代,对应的PowerShell命令改为:

$url = 'https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe'; $output = '%TEMP%\putty.exe'; Invoke-WebRequest -Uri $url -OutFile $output

只需替换VBS中的strPSCommand变量内容即可。

内容的提问来源于stack exchange,提问作者Dieketseng Moreki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 05:07:57