我工作的IT公司要求我製作一個能夠下載所需文件並將其存儲在一個文件夾中供以後安裝的腳本。我的vbscript被反病毒標記了嗎?
這是我的代碼使用
Set BS = CreateObject("ADODB.Stream")
BS.type = 1
BS.open
BS.Write xHttp.ResponseBody
BS.savetofile "putty.exe", 2 '//overwrite
If objFileSys.FileExists("putty.exe") Then
objFileSys.DeleteFile "putty.exe"
BS.SaveToFile "putty.exe", 2
Set objFile = objFso.GetFile("putty.exe")
'* If the file doesn't exist, it will be downloaded here.
Else
BS.SaveToFile "putty.exe", 2
Set objFile = objFso.GetFile("putty.exe")
End If
此代碼^已經沒有任何問題,但是,這個代碼:
Set BS = CreateObject("ADODB.Stream")
BS.type = 1
BS.open
BS.Write xHttp.ResponseBody
' If the file does exist, it will be deleted and re-downloaded.
If objFileSys.FileExists("" + strDirectory + "\putty.exe") Then
objFileSys.DeleteFile "" + strDirectory + "\putty.exe"
BS.SaveToFile "" + strDirectory + "\putty.exe", 2
Set objFile = objFso.GetFile("" + strDirectory + "\putty.exe")
' If the file doesn't exist, it will be downloaded here.
Else
BS.SaveToFile "" + strDirectory + "\putty.exe", 2
Set objFile = objFso.GetFile("" + strDirectory + "\putty.exe")
End If
出於某種原因,防病毒(Sophos的)標誌的第二碼,但我不確定爲什麼?
您可以看到的第一個代碼只是下載文件並將其保存爲.vbs文件,與此相關的問題公司並不這樣。我試圖把文件放在C:但你需要管理員權限,這意味着你需要以管理員身份登錄(唉)。
所以我讓腳本只是把所有需要的文件放到一個臨時文件夾中,「strDirectory」轉到「C:\ Users \ NAME \ AppData \ Roaming \ Work」這個原因是因爲那麼腳本會收集PC的用戶名,即鮑勃,所以它會去「C:\用戶\ Bob \ AppData \漫遊\工作」示例: 「C:\ Users \」+ PC NAME +「\ AppData \ Roaming \ Work」
但是,再次殺毒標誌,我不知道爲什麼?
謝謝!
PS這不是我的腳本我在這裏找到它在stackoverflow,我剛剛編輯它,以適應我的需要。
PSS我無法上傳公司問題的完整代碼,但錯誤在下載部分。
您從Sophos獲得的警告消息是什麼?我之前在手機上安裝了sophos antivirus,它告訴我我安裝的所有東西都是不安全的(誤報)。也許這有助於將腳本列入白名單,以便virusscanner不會再掃描該文件 – Jer
我不知道這個問題的答案,因爲我不知道sophos是如何標記的,但可能考慮使用'&'運算符而不是'+'並看看是否讓屁股高興。也許它試圖檢測到一些數字溢出問題或其他內容導致內存中的緩衝區溢出......? – JNevill
@ C0dekid,無論卡巴斯基互聯網安全標記爲「HEUR:Trojan-Downloader.Script.Generic」,我現在都在家,但不會將第一個腳本標記爲任何東西! – Bac0n