svchost.exe應用程序錯誤
svchost.exe是nt核心系統的非常重要的進程,對於windows 2000、xp等不可或缺。細心的朋友會發現windows中存在多個 “svchost”進程(通過“ctrl+alt+del”鍵打開任務管理器,在“進程”標簽中就可看到了)。windows系統進程分為獨立進程和***享進程兩種,“svchost.exe”文件存在於“%systemroot% system32”目錄下,它屬於***享進程。隨著windows系統服務不斷增多,為了節省系統資源,微軟把很多服務做成***享方式,交由 svchost.exe進程來啟動。但svchost進程只作為服務宿主,並不能實現任何服務功能,即它只能提供條件讓其他服務在這裏被啟動,而它自己卻不能給用戶提供任何服務。不同版本的windows系統,有不同數量的“svchost”進程。壹般來說,win2000有2個svchost,winxp中則有4個或4個以上的svchost進程,而win2003則更多。
二、Svchost.exe病毒程序
1.假冒Svchost.exe程序的病毒
運行的病毒並沒有直接利用真正的Svchost.exe,而是啟動了壹個名稱同樣是Svchost.exe的病毒進程,由於沒有加載系統服務,它和真正的 Svchost.exe進程是不同的,只需在命令行窗口中運行壹下“Tasklist /svc”,如果看到哪個Svchost.exe進程後面提示的服務信息是“暫缺”,而不是壹個具體的服務名,那麽它就是病毒進程了,記下這個病毒進程對應的PID數值(進程標識符),即可在任務管理器的進程列表中找到它,結束進程後,在C盤搜索Svchost.exe文件,也可以用第三方進程工具直接查看該進程的路徑,正常的Svchost.exe文件是位於% systemroot%System32目錄中的,而假冒的Svchost.exe病毒文件則會在其他目錄。
2:壹些高級病毒則采用類似系統服務啟動的方式,通過真正的Svchost.exe進程加載病毒程序,而Svchost.exe是通過註冊表數據來決定要裝載的服務列表的,所以病毒通常會在註冊表中采用以下方法進行加載:
添加壹個新的服務組,在組裏添加病毒服務名
在現有的服務組裏直接添加病毒服務名
修改現有服務組裏的現有服務屬性,修改其“ServiceDll”鍵值指向病毒程序
病毒程序要通過真正的Svchost.exe進程加載,就必須要修改相關的註冊表數據,可以打開[HKEY_LOCAL_MACHINESoftware MicrosoftWindowsNTCurrentVersionSvchost],觀察有沒有增加新的服務組,同時要留意服務組中的服務列表,觀察有沒有可疑的服務名稱,通常來說,病毒不會在只有壹個服務名稱的組中添加,往往會選擇LocalService和netsvcs這兩個加載服務較多的組,以幹擾分析。還有通過修改服務屬性指向病毒程序的,通過註冊表判斷起來都比較困難,這時可以利用前面介紹的服務管理專家,分別打開 LocalService和netsvcs分支,逐個檢查右邊服務列表中的服務屬性,尤其要註意服務描述信息全部為英文的,很可能是第三方安裝的服務,同時要結合它的文件描述、版本、公司等相關信息,進行綜合判斷。
Svchost.exe病毒的簡單處理:
1.當發現Svchost.exe不在%systemroot%System32目錄中的,可以安全刪除,同時在註冊表中查找對應的註冊項刪除掉。
2.Svchost.exe在%systemroot%System32目錄,說明Svchost.exe是被病毒感染了,可以用殺毒軟件清除。
註:清除和刪除要分清楚,清除是清除病毒,刪除則是刪文件。