我有这个快捷方式的代码,运行完美,没有任何问题.但我的问题是,它确实被许多防病毒软件检测到,这对我来说是一个问题。我不知道我如何能扭转这个代码,以避免被检测到的防病毒软件。
这是密码。
Set objShell = CreateObject("WScript.Shell")
strTempPath = objShell.ExpandEnvironmentStrings("%TEMP%")
strShortcutPath = strTempPath & "\PuTTY.lnk"
strTargetPath = "https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe"
' Download PuTTY executable
strDownloadURL = strTargetPath
strDownloadPath = strTempPath & "\putty.exe"
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", strDownloadURL, False
objXMLHTTP.send()
If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0
objADOStream.SaveToFile strDownloadPath
objADOStream.Close
End If
' Create a shortcut
Set objShellLink = objShell.CreateShortcut(strShortcutPath)
objShellLink.TargetPath = strDownloadPath
objShellLink.Save
' Execute PuTTY
objShell.Run strShortcutPath
我希望此代码运行时不被任何防病毒检测到。我注意到,下载器是什么被检测到,所以我觉得有另一个代码,可以运行下载器也不会被检测到的防病毒。
这是合法的密码。
2条答案
按热度按时间jjjwad0x1#
使用
curl
并直接运行下载的exe(而不是启动快捷方式),发布的代码可以减少到以下六行(不会触发AV):bq3bfh9z2#
Antivirus正在做应该做的事情。你在使用恶意软件常用的技术。
没关系。你知道你的代码是安全的。只需指示您的AV进行例外处理,它将不再被检测到。
如果这段代码是用于分发的,那么VBS真的不是最好的方法。您可能应该提供创建异常的说明,并在脚本中提供这些说明。
或者,您可以避免使用ADODB流。这可能就是被标记的东西。但是,需要绕过AV应该是一个强烈的迹象,表明您可能采取了一个糟糕的方法。
总的来说,这整个脚本是非常糟糕的做法。您不应该盲目地下载和执行任何东西--尤其是从脚本中。即使你相信你控制了远程源,这仍然是一个坏主意。如果你真的必须这样做,你至少应该验证文件哈希,以确保你下载了想要的文件,并且它没有被以任何方式修改。