svchost是挖礦程序
『壹』 "svchost"是什麼程序啊
svchost.exe是nt核心系統的非常重要的進程,對於2000、xp來說,不可或缺。很多病毒、木馬也會調用它。所以,深入了解這個程序,是玩電腦的必修課之一。
大家對windows操作系統一定不陌生,但你是否注意到系統中「svchost.exe」這個文件呢?細心的朋友會發現windows中存在多個 「svchost」進程(通過「ctrl+alt+del」鍵打開任務管理器,這里的「進程」標簽中就可看到了),為什麼會這樣呢?下面就來揭開它神秘的面紗。
發現
在基於nt內核的windows操作系統家族中,不同版本的windows系統,存在不同數量的「svchost」進程,用戶使用「任務管理器」可查看其進程數目。一般來說,win2000有兩個svchost進程,winxp中則有四個或四個以上的svchost進程(以後看到系統中有多個這種進程,千萬別立即判定系統有病毒了喲),而win2003 server中則更多。這些svchost進程提供很多系統服務,如:rpcss服務(remote procere call)、dmserver服務(logical disk manager)、dhcp服務(dhcp client)等。
如果要了解每個svchost進程到底提供了多少系統服務,可以在win2000的命令提示符窗口中輸入「tlist -s」命令來查看,該命令是win2000 support tools提供的。在winxp則使用「tasklist /svc」命令。
svchost中可以包含多個服務
深入
windows系統進程分為獨立進程和共享進程兩種,「svchost.exe」文件存在於「%systemroot% system32」目錄下,它屬於共享進程。隨著windows系統服務不斷增多,為了節省系統資源,微軟把很多服務做成共享方式,交由 svchost.exe進程來啟動。但svchost進程只作為服務宿主,並不能實現任何服務功能,即它只能提供條件讓其他服務在這里被啟動,而它自己卻不能給用戶提供任何服務。那這些服務是如何實現的呢?
原來這些系統服務是以動態鏈接庫(dll)形式實現的,它們把可執行程序指向 svchost,由svchost調用相應服務的動態鏈接庫來啟動服務。那svchost又怎麼知道某個系統服務該調用哪個動態鏈接庫呢?這是通過系統服務在注冊表中設置的參數來實現。下面就以rpcss(remote procere call)服務為例,進行講解。
從啟動參數中可見服務是靠svchost來啟動的。
實例
以windows xp為例,點擊「開始」/「運行」,輸入「services.msc」命令,彈出服務對話框,然後打開「remote procere call」屬性對話框,可以看到rpcss服務的可執行文件的路徑為「c:\windows\system32\svchost -k rpcss」,這說明rpcss服務是依靠svchost調用「rpcss」參數來實現的,而參數的內容則是存放在系統注冊表中的。
在運行對話框中輸入「regedit.exe」後回車,打開注冊表編輯器,找到[hkey_local_machine ]項,找到類型為「reg_expand_sz」的鍵「magepath」,其鍵值為「%systemroot%system32svchost -k rpcss」(這就是在服務窗口中看到的服務啟動命令),另外在「parameters」子項中有個名為「servicedll」的鍵,其值為「% systemroot%system32rpcss.dll」,其中「rpcss.dll」就是rpcss服務要使用的動態鏈接庫文件。這樣 svchost進程通過讀取「rpcss」服務注冊表信息,就能啟動該服務了。
解惑
因為svchost進程啟動各種服務,所以病毒、木馬也想盡辦法來利用它,企圖利用它的特性來迷惑用戶,達到感染、入侵、破壞的目的(如沖擊波變種病毒「w32.welchia.worm」)。但windows系統存在多個svchost進程是很正常的,在受感染的機器中到底哪個是病毒進程呢?這里僅舉一例來說明。
假設windows xp系統被「w32.welchia.worm」感染了。正常的svchost文件存在於「c:\windows\system32」目錄下,如果發現該文件出現在其他目錄下就要小心了。「w32.welchia.worm」病毒存在於「c:\windows\system32wins」目錄中,因此使用進程管理器查看svchost進程的執行文件路徑就很容易發現系統是否感染了病毒。windows系統自帶的任務管理器不能夠查看進程的路徑,可以使用第三方進程管理軟體,如「windows優化大師」進程管理器,通過這些工具就可很容易地查看到所有的svchost進程的執行文件路徑,一旦發現其執行路徑為不平常的位置就應該馬上進行檢測和處理。
『貳』 svchost是什麼程序
SvcHost 進程文件: svchost.dll
進程名稱: Trojan.W32.Agent
英文描述:
svchost.dll is a mole which is registered as a trojan. This Trojan allows attackers to access your computer from remote locations, stealing passwords, Internet banking and personal data. This process is a security risk and should be removed from your system.
進程分析:
svchost.exe是一個屬於微軟Windows操作系統的系統程序,用於執行DLL文件。這個程序對你系統的正常運行是非常重要的。注意:svchost.exe也有可能是W32.Welchia.Worm病毒,它利用WindowsLSASS漏洞,製造緩沖區溢出,導致你計算機關機。更多詳細信息參考:http://www.microsoft.com/technet/security/bulletin/ms04-011.mspx,該進程的安全等級是建議立即刪除。
安全等級 (0-5): N/A (N/A無危險 5最危險)
間諜軟體: 否
廣告軟體: 否
病毒: 否
木馬: 否
系統進程: 否
應用程序: 否
後台程序: 是
使用訪問: 是
訪問互聯網: 是
大家都要知道Svchost.exe,是系統必不可少的一個進程,很多服務都會多多少少用到它,但是我想大家也知道,由於它本身特殊性,高明的"黑客們"肯定是不會放過的,前段時間的Svchost.exe木馬風波,大家應該是記憶猶新吧,而且現在還是有很多機器里都藏有此木馬,因為它偽裝和系統進程Svchost.exe一樣,所以很多人分不清,哪個是進程,哪個是木馬……
好的,還是讓我們詳盡了解一下Svchost.exe進程吧
1.多個服務共享一個 Svchost.exe進程利與弊
windows 系統服務分為獨立進程和共享進程兩種,在windows NT時只有伺服器管理器SCM(Services.exe)有多個共享服務,隨著系統內置服務的增加,在windows 2000中ms又把很多服務做成共享方式,由svchost.exe啟動。windows 2000一般有2個svchost進程,一個是RPCSS(Remote Procere Call)服務進程,另外一個則是由很多服務共享的一個svchost.exe。而在windows XP中,則一般有4個以上的svchost.exe服務進程,windows 2003 server中則更多,可以看出把更多的系統內置服務以共享進程方式由svchost啟動是ms的一個趨勢。這樣做在一定程度上減少了系統資源的消耗,不過也帶來一定的不穩定因素,因為任何一個共享進程的服務因為錯誤退出進程就會導致整個進程中的所有服務都退出。另外就是有一點安全隱患,首先要介紹一下svchost.exe的實現機制。
2. Svchost原理
Svchost本身只是作為服務宿主,並不實現任何服務功能,需要Svchost啟動的服務以動態鏈接庫形式實現,在安裝這些服務時,把服務的可執行程序指向svchost,啟動這些服務時由svchost調用相應服務的動態鏈接庫來啟動服務。
那麼svchost如何知道某一服務是由哪個動態鏈接庫負責呢?這不是由服務的可執行程序路徑中的參數部分提供的,而是服務在注冊表中的參數設置的,注冊表中服務下邊有一個Parameters子鍵其中的ServiceDll表明該服務由哪個動態鏈接庫負責。並且所有這些服務動態鏈接庫都必須要導出一個ServiceMain()函數,用來處理服務任務。
例如rpcss(Remote Procere Call)在注冊表中的位置是 HKEY_LOCAL_,它的參數子鍵Parameters里有這樣一項:
"ServiceDll"=REG_EXPAND_SZ:"%SystemRoot%system32 pcss.dll"
當啟動rpcss服務時,svchost就會調用rpcss.dll,並且執行其ServiceMain()函數執行具體服務。
既然這些服務是使用共享進程方式由svchost啟動的,為什麼系統中會有多個svchost進程呢?ms把這些服務分為幾組,同組服務共享一個svchost進程,不同組服務使用多個svchost進程,組的區別是由服務的可執行程序後邊的參數決定的。
例如rpcss在注冊表中 HKEY_LOCAL_ 有這樣一項:
"ImagePath"=REG_EXPAND_SZ:"%SystemRoot%system32svchost -k rpcss"
因此rpcss就屬於rpcss組,這在服務管理控制台也可以看到。
svchost的所有組和組內的所有服務都在注冊表的如下位置: HKEY_LOCAL_ NTCurrentVersionSvchost,例如windows 2000共有4組rpcss、netsvcs、wugroup、BITSgroup,其中最多的就是netsvcs=REG_MULTI_SZ:EventSystem.Ias.Iprip.Irmon.Netman.
Nwsapagent.Rasauto.Rasman.Remoteaccess.SENS.Sharedaccess.Tapisrv.Ntmssvc.wzcsvc..
在啟動一個svchost.exe負責的服務時,服務管理器如果遇到可執行程序內容ImagePath已經存在於服務管理器的映象庫中,就不在啟動第2個進程svchost,而是直接啟動服務。這樣就實現了多個服務共享一個svchost進程。
3. Svchost代碼
現在我們基本清楚svchost的原理了,但是要自己寫一個DLL形式的服務,由svchost來啟動,僅有上邊的信息還有些問題不是很清楚。比如我們在導出的ServiceMain()函數中接收的參數是ANSI還是Unicode?我們是否需要調用RegisterServiceCtrlHandler和StartServiceCtrlDispatcher來注冊服務控制及調度函數?
這些問題要通過查看svchost代碼獲得。下邊的代碼是windows 2000+ service pack 4 的svchost反匯編片段,可以看出svchost程序還是很簡單的。
主函數首先調用ProcCommandLine()對命令行進行分析,獲得要啟動的服務組,然後調用SvcHostOptions()查詢該服務組的選項和服務組的所有服務,並使用一個數據結構 svcTable 來保存這些服務及其服務的DLL,然後調用PrepareSvcTable() 函數創建 SERVICE_TABLE_ENTRY 結構,把所有處理函數SERVICE_MAIN_FUNCTION 指向自己的一個函數FuncServiceMain(),最後調用API StartServiceCtrlDispatcher() 注冊這些服務的調度函數。
『叄』 SVCHOST是個什麼程序
svchost.exe是nt核心系統的非常重要的進程,對於2000、xp來說,不可或缺。很多病毒、木馬也會調用它。所以,深入了解這個程序,是玩電腦的必修課之一。
大家對windows操作系統一定不陌生,但你是否注意到系統中「svchost.exe」這個文件呢?細心的朋友會發現windows中存在多個 「svchost」進程(通過「ctrl+alt+del」鍵打開任務管理器,這里的「進程」標簽中就可看到了),為什麼會這樣呢?下面就來揭開它神秘的面紗。
發現
在基於nt內核的windows操作系統家族中,不同版本的windows系統,存在不同數量的「svchost」進程,用戶使用「任務管理器」可查看其進程數目。一般來說,win2000有兩個svchost進程,winxp中則有四個或四個以上的svchost進程(以後看到系統中有多個這種進程,千萬別立即判定系統有病毒了喲),而win2003 server中則更多。這些svchost進程提供很多系統服務,如:rpcss服務(remote procere call)、dmserver服務(logical disk manager)、dhcp服務(dhcp client)等。
如果要了解每個svchost進程到底提供了多少系統服務,可以在win2000的命令提示符窗口中輸入「tlist -s」命令來查看,該命令是win2000 support tools提供的。在winxp則使用「tasklist /svc」命令。
svchost中可以包含多個服務
深入
windows系統進程分為獨立進程和共享進程兩種,「svchost.exe」文件存在於「%systemroot% system32」目錄下,它屬於共享進程。隨著windows系統服務不斷增多,為了節省系統資源,微軟把很多服務做成共享方式,交由 svchost.exe進程來啟動。但svchost進程只作為服務宿主,並不能實現任何服務功能,即它只能提供條件讓其他服務在這里被啟動,而它自己卻不能給用戶提供任何服務。那這些服務是如何實現的呢?
原來這些系統服務是以動態鏈接庫(dll)形式實現的,它們把可執行程序指向 svchost,由svchost調用相應服務的動態鏈接庫來啟動服務。那svchost又怎麼知道某個系統服務該調用哪個動態鏈接庫呢?這是通過系統服務在注冊表中設置的參數來實現。下面就以rpcss(remote procere call)服務為例,進行講解。
從啟動參數中可見服務是靠svchost來啟動的。
實例
以windows xp為例,點擊「開始」/「運行」,輸入「services.msc」命令,彈出服務對話框,然後打開「remote procere call」屬性對話框,可以看到rpcss服務的可執行文件的路徑為「c:\windows\system32\svchost -k rpcss」,這說明rpcss服務是依靠svchost調用「rpcss」參數來實現的,而參數的內容則是存放在系統注冊表中的。
在運行對話框中輸入「regedit.exe」後回車,打開注冊表編輯器,找到[hkey_local_machine ]項,找到類型為「reg_expand_sz」的鍵「magepath」,其鍵值為「%systemroot%system32svchost -k rpcss」(這就是在服務窗口中看到的服務啟動命令),另外在「parameters」子項中有個名為「servicedll」的鍵,其值為「% systemroot%system32rpcss.dll」,其中「rpcss.dll」就是rpcss服務要使用的動態鏈接庫文件。這樣 svchost進程通過讀取「rpcss」服務注冊表信息,就能啟動該服務了。
解惑
因為svchost進程啟動各種服務,所以病毒、木馬也想盡辦法來利用它,企圖利用它的特性來迷惑用戶,達到感染、入侵、破壞的目的(如沖擊波變種病毒「w32.welchia.worm」)。但windows系統存在多個svchost進程是很正常的,在受感染的機器中到底哪個是病毒進程呢?這里僅舉一例來說明。
假設windows xp系統被「w32.welchia.worm」感染了。正常的svchost文件存在於「c:\windows\system32」目錄下,如果發現該文件出現在其他目錄下就要小心了。「w32.welchia.worm」病毒存在於「c:\windows\system32wins」目錄中,因此使用進程管理器查看svchost進程的執行文件路徑就很容易發現系統是否感染了病毒。windows系統自帶的任務管理器不能夠查看進程的路徑,可以使用第三方進程管理軟體,如「windows優化大師」進程管理器,通過這些工具就可很容易地查看到所有的svchost進程的執行文件路徑,一旦發現其執行路徑為不平常的位置就應該馬上進行檢測和處理。
由於篇幅的關系,不能對svchost全部功能進行詳細介紹,這是一個windows中的一個特殊進程,有興趣的可參考有關技術資料進一步去了解它。
『肆』 電腦被svchost.exe挖礦怎麼辦
這個svchost.exe是系統程序,所有的系統服務都有依靠它來運行的,根本就不能刪掉的(即使刪了你的系統也就崩潰了),所以需要你檢查控制面板,管理工具,服務,看看服務中有什麼可疑的內容沒有。
『伍』 svchost.exe是什麼程序
沒事的,svchost.exe是nt核心系統的非常重要的進程。千萬不要關掉
『陸』 發現可疑程序svchost.exe!!!!救命啊!!!
說明病毒侵到系統里去了,你還是重裝,記得吧C盤格式化再裝,不然就是白裝,如果個人操作不行,就找專業人士,另外你恢復到最後一次正確的配置可以讓它再拖一會,自己看著辦吧。阿彌陀佛~
『柒』 任務管理器中有個程序是svchost.exe.是什麼東西啊
svchost.exe是nt核心系統的非常重要的進程,對於2000、xp來說,不可或缺。很多病毒、木馬也會調用它。
在基於nt內核的windows操作系統家族中,不同版本的windows系統,存在不同數量的「svchost」進程,用戶使用「任務管理器」可查看其進程數目。一般來說,win2000有兩個svchost進程,winxp中則有四個或四個以上的svchost進程(以後看到系統中有多個這種進程,千萬別立即判定系統有病毒了喲),而win2003 server中則更多。這些svchost進程提供很多系統服務,如:rpcss服務(remote procere call)、dmserver服務(logical disk manager)、dhcp服務(dhcp client)等。
如果要了解每個svchost進程到底提供了多少系統服務,可以在win2000的命令提示符窗口中輸入「tlist -s」命令來查看,該命令是win2000 support tools提供的。在winxp則使用「tasklist /svc」命令。
svchost中可以包含多個服務
『捌』 svchost是什麼程序,很佔CPU
某個應用程序的動態鏈接庫文件
一般系統會有兩三個
如果再多
那就可能是病毒程序帶的
『玖』 svchost是什麼程序
Service Host Process是一個標準的動態連接庫主機處理服務。Svchost.exe文件對那些從動態連接庫(DLL)中運行的服務來說是一個普通的主機進程名。 Svhost.exe文件定位在系統的Windows\system32文件夾下。在啟動的時候,Svchost.exe檢查注冊表中的位置來構建需要載入的服務列表。這就會使多個Svchost.exe在同一時間運行。Windows 2000一般有2個Svchost進程,一個是RPCSS(Remote Procere Call)服務進程,另外一個則是由很多服務共享的一個Svchost.exe;而在 windows XP中,則一般有4個以上的Svchost.exe服務進程;Windows 2003 server中則更多。Svchost.exe 是一個系統的核心進程,並不是病毒進程。但由於Svchost.exe進程的特殊性,所以病毒也會千方百計的入侵Svchost.exe。通過察看 Svchost.exe進程的執行路徑可以確認是否中毒。如果你懷疑計算機有可能被病毒感染,Svchost.exe的服務出現異常的話通過搜索 Svchost.exe文件就可以發現異常情況。一般只會在C:\Windows\System32目錄下找到一個Svchost.exe程序。如果你在其他目錄下發現Svchost.exe程序的話,那很可能就是中毒了。