因為svchost進程啟動各種服務,所以病毒、木馬也想盡辦法來利用它,企圖利用它的特性來迷惑用戶,達到感染、入侵、破壞的目的(如沖擊波變種病毒“w32.welchia.worm”)。但windows系統存在多個svchost進程是很正常的,在受感染的機器中到底哪個是病毒進程呢?這里僅舉一例來說明。 假設windowsxp系統被“w32.welchia.worm”感染了。正常的svchost文件存在于“c:\windows\system32”目錄下,如果發現該文件出現在其他目錄下就要小心了。“w32.welchia.worm”病毒存在于“c:\windows\system32\wins”目錄中,因此使用進程管理器查看svchost進程的執行文件路徑就很容易發現系統是否感染了病毒。windows系統自帶的任務管理器不能夠查看進程的路徑,可以使用第三方進程管理軟件,如“windows優化大師”進程管理器,通過這些工具就可很容易地查看到所有的svchost進程的執行文件路徑,一旦發現其執行路徑為不平常的位置就應該馬上進行檢測和處理。 Svchost.exe說明解疑對Svchost的困惑 --------------- Svchost.exe文件對那些從動態連接庫中運行的服務來說是一個普通的主機進程名。Svchost.exe文件定位在系統的%systemroot%\system32文件夾下。在啟動的時候,Svchost.exe檢查注冊表中的位置(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost)來構建需要加載的服務列表。這就會使多個Svchost.exe在同一時間運行。每個Svchost.exe的回話期間都包含一組服務,以至于單獨的服務必須依靠Svchost.exe怎樣和在那里啟動。這樣就更加容易控制和查找錯誤。 Svchost.exe 組是用下面的注冊表值來識別。 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost 每個在這個鍵下的值代表一個獨立的Svchost組,并且當你正在看活動的進程時,它顯示作為一個單獨的例子。每個鍵值都是REG_MULTI_SZ類型的值而且包括運行在Svchost組內的服務。每個Svchost組都包含一個或多個從注冊表值中選取的服務名,這個服務的參數值包含了一個ServiceDLL值。 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services 簡單的說沒有這個RPC服務,機器幾乎就上不了網了。很多應用服務都是依賴于這個RPC接口的,如果發現這個進程占了太多的CPU資源,直接把系統的RPC服務禁用了會是一場災難:因為連恢復這個界面的系統服務設置界面都無法使用了。恢復的方法需要使用注冊表編輯器,找到 HKEY_LOCAL_MACHINE >> SYSTEM >> CurrentControlSet >> Services >> RpcSs,右側找到Start屬性,把它的值改為2再重啟即可 造成svchost占系統CPU 100%的原因并非svchost服務本身:以上的情況是由于Windows Update服務下載/安裝失敗而導致更新服務反復重試造成的。而Windows的自動更新也是依賴于svchost服務的一個后臺應用,從而表現為svchost.exe負載極高。常發生這類問題的機器一般是上網條件(尤其是去國外網站)不穩定的機器,比如家里的父母的機器,往往在安裝機器幾個月以后不定期發生,每個月的第二個星期是高發期:因為最近幾年MS很有規律的在每個月的第二個星期發布補丁程序)。上面的解決方法并不能保證不重發作,但是為了svchost文件而每隔幾個月重裝一次操作系統還是太浪費時間了。 注意點: svchost.exe 常被病毒冒充的進程名有:svch0st.exe、schvost.exe、scvhost.exe。隨著Windows系統服務不斷增多,為了節省系統資源,微軟把很多服務做成共享方式,交由svchost.exe進程來啟動。而系統服務是以動態鏈接庫(DLL)形式實現的,它們把可執行程序指向svchost,由svchost調用相應服務的動態鏈接庫來啟動服務。我們可以打開“控制面板”→“管理工具”→服務,雙擊其中“ClipBook”服務,在其屬性面板中可以發現對應的可執行文件路徑為“C:\WINDOWS\system32\clipsrv.exe”。再雙擊“Alerter”服務,可以發現其可執行文件路徑為“C:\WINDOWS\system32\svchost.exe -k LocalService”,而“Server”服務的可執行文件路徑為“C:\WINDOWS\system32\svchost.exe -k netsvcs”。正是通過這種調用,可以省下不少系統資源,因此系統中出現多個svchost.exe,其實只是系統的服務而已。 在Windows2000系統中一般存在2個svchost.exe進程,一個是RPCSS(RemoteProcedureCall)服務進程,另外一個則是由很多服務共享的一個svchost.exe;而在WindowsXP中,則一般有4個以上的svchost.exe服務進程。如果svchost.exe進程的數量多于6個,就要小心了,很可能是病毒假冒的,檢測方法也很簡單,使用一些進程管理工具,例如Windows優化大師的進程管理功能,查看svchost.exe的可執行文件路徑,如果在“C:\WINDOWS\system32”目錄外,那么就可以判定是病毒了。
svchost.exe病毒清除辦法
1.用unlocker刪除類似于C:SysDayN6這樣的文件夾:例如C:Syswm1i、C:SysAd5D等等,這些文件夾有個共同特點,就是名稱為 Sys*** (***是三到五位的隨機字母),這樣的文件夾有幾個就刪幾個。 2.開始——運行——輸入“regedit”——打開注冊表,展開注冊表到以下位置: HKEY_CURRENT_USER\Software\Microsoft\Windows\Current\Version\Policies\Explorer\Run 刪除右邊所有用純數字為名的鍵,如 <66><C:SysDayN6svchost.exe> <333><C:Syswm1isvchost.exe> <50><C:SysAd5Dsvchost.exe> <4><C:SysWsj7svchost.exe>