1. 首頁
  2. 行業

svchost.exe是什麼程序

svchost.exe是什麼程序

svchost.exe這個程序每臺機器都會有這個程序,以下是PINCAI小編收集的svchost.exe是什麼程序,僅供大家閱讀參考!

svchost.exe是什麼程序

Svchost.exe 是從動態連結庫 (DLL) 中執行的服務的通用主機程序名稱。這個程式對系統的正常執行是非常重要,而且是不能被結束的。svchost.exe在windows程序中佔據很大一部分的資源,svchost.exe非常容易被病毒所利用。svchost.exe病毒利用之後,系統常會彈出svchost.exe錯誤,當然 svchost.exe病毒也有專殺工具。

我們知道 Windows 和 Windows 的應用軟體都 要使用大量的 DLL(Dynamic Link Libraries,動態連結庫)檔案,這些 DLL文 件一般都要向Windows申請各種各樣的Service(服務),而Svchost. exe 就是其中一些服務的通用管理程序名(Generic Host Process Name),簡單的說,Svchost.exe是這些服務的總稱。每一個Svchost. exe 程序以一個 Group(組)的方式分組管理各種服務,每一個 Svchost.exe服務。

svchost是什麼

Windows XP 中可以有多個 Svchost.exe 程序同時執行,之 所以這樣設計是為了更為方便地分類控制和除錯各個程序和服務。 Svchost.exe在Windows XP的系統目錄WindowsSystem32 下,在啟動的時候,Svchost.exe根據登錄檔中的相關資訊建立一個 服務列表並根據這個列表載入相關的服務。一般來說,Svchost.exe 總是根據 HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsNTCurrentVersionSvchost下面的鍵值分組管理DLL 申請的服務,這裡的每一鍵值對應一個獨立的Svchost.exe程序,也 就是說這裡的鍵值就是在任務管理器中我們看到的Svchost.exe程序。

svchost是什麼

當然,由於這裡的鍵值並不是一次性全部載入,而是根據需要才加 載,因此這裡的鍵值數要多於在任務管理器中看到的Svchost.exe程序數,而每個Svchost.exe程序所包含的服務名、引數值和DLL則來 自 HKEY_LOCAL_MACHINESystemCurrentControlSet Services Service這個鍵值。

在任務管理器中只能看到Svchost.exe程序而看不到該程序所包含的服務,要想了解每個 Svchost.exe 程序下到底有什麼服務就需要使用別的方法。選擇 Windows XP工作列上的“開始 / 執行”,輸入“CMD ”並回車,開啟 Windows XP 的命令列視窗,輸入“Tasklist / SVC”並回車就可以看到每個 Svchost.exe程序及 其所包含的各種服務,其中 Image Name (映像名)是程序的名稱,PID(Process ID)是程序標識,以數字形式表示,Services(服務)就是 程序所包含的各種服務。

可惜的是Tasklist只顯示 各種服務的縮寫而不是全稱,對於這些縮寫一般只 有對Windows系統核心十分了解的程式設計師才能明 白其真正意義,它們主要是指網路、域名快取、遠 程控制和應用程式介面等服務,當然普通的電腦用 戶也沒必要去過多的瞭解這些十分專業的名稱。如果使用者還想進一步瞭解每個程序呼叫的DLL檔案, 可以使用“Tasklist /M”這個命令。

svchost是什麼

使用Tasklist 還可檢視指定程序的情況,例如想要檢視 PID 為728 的程序的情況,可以使用命令“Tasklist /FI "PID eq 728"”。Tasklist還有許多命令引數,對它感興趣的'使用者可以使用Tasklist /?得到詳細的幫助資訊。

另外補充一點,其實 Svchost.exe 早在Windows 2000 就已存在,只是作用沒有在 Windows XP中這麼明顯,所以在Windows 2000 時代很少有人注意它的存在。在Windows 2000中 檢視各個程序及服務的命令為“tlist -s”,檢視指 定程序及服務的命令是“tlist PID”。

svchost.exe是什麼程序

步驟1、用unlocker刪除類似於C:SysDayN6這樣的資料夾:例如C:Syswm1i、C:SysAd5D等等,這些資料夾有個共同特點,就是名稱為 Sys*** (***是三到五位的隨機字母),這樣的資料夾有幾個就刪幾個。

步驟2、開始——執行——輸入“regedit”——開啟登錄檔,展開登錄檔到以下位置:

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun

刪除右邊所有用純數字為名的鍵,如

<66>

<333>

<50>

<4>

步驟3、重新啟動計算機,病毒清除完畢。

svchost.exe是什麼程序

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 procedure 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 procedure call)服務為例,進行講解。

從啟動引數中可見服務是靠svchost來啟動的。

例項

以windows xp為例,點選“開始”/“執行”,輸入“services.msc”命令,彈出服務對話方塊,然後開啟“remote procedure call”屬性對話方塊,可以看到rpcss服務的可執行檔案的路徑為“c:windowssystem32svchost -k rpcss”,這說明rpcss服務是依靠svchost呼叫“rpcss”引數來實現的,而引數的內容則是存放在系統登錄檔中的。

在執行對話方塊中輸入“regedit.exe”後回車,開啟登錄檔編輯器,找到[hkey_local_machine systemcurrentcontrolsetservicesrpcss]項,找到型別為“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:windowssystem32”目錄下,如果發現該檔案出現在其他目錄下就要小心了。“w32.welchia.worm”病毒存在於“c:windowssystem32wins”目錄中,因此使用程序管理器檢視svchost程序的執行檔案路徑就很容易發現系統是否感染了病毒。windows系統自帶的任務管理器不能夠檢視程序的路徑,可以使用第三方程序管理軟體,如“windows最佳化大師”程序管理器,透過這些工具就可很容易地檢視到所有的svchost程序的執行檔案路徑,一旦發現其執行路徑為不平常的位置就應該馬上進行檢測和處理。