揭開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程式的執行檔案路徑,一旦發現其執行路徑為不平常的位置就應該馬上進行檢測和處理.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-245325/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 揭開Linux作業系統的Swap交換區之謎Linux作業系統
- svchost.exe系統程式介紹(轉)
- 今日正式發售《嵐與山之彼端》揭開如月車站神隱少女之謎
- 揭祕JavaScript中謎一樣的thisJavaScript
- 微軟面試題之數字謎題 (轉)微軟面試題
- 解開Android應用程式元件Activity的"singleTask"之謎(3)Android元件
- 活在實驗室還是實現霸權?揭開當前量子計算技術進展之謎
- 破解神秘程式碼“3582-490”之謎
- 揭開SELinux的秘密(轉)Linux
- 成功團隊就是匯聚好的人才?谷歌為你揭開「驚人」謎底谷歌
- redux-thunk 之謎Redux
- 區塊鏈產業革命:解開融資租賃之謎區塊鏈產業
- 資料繫結之謎
- React Native 效能之謎React Native
- Java解惑五:類之謎Java
- Vue render深入窺探之謎Vue
- Linux 開機程式之研討(轉)Linux
- 揭開Windows XP啟動如飛的秘密(轉)Windows
- win10系統Svchost.exe程式有什麼作用Win10
- 破解ERP的使用成本之謎
- 解析Svchost.exe和Explorer.exe兩大系統程式(zt)
- CSS揭祕之《小技巧》CSS
- CSS揭祕之形狀CSS
- 揭開正規表示式語法的神秘面紗 (轉)
- 揭開單體應用程式的神祕面紗
- 揭開程式設計師裝 13 行為的面具程式設計師
- RocketMQ 很慢?引出了一個未解之謎MQ
- 《自然》:破解癌細胞愛“啃”椎骨之謎!
- 《科學》:破解AD神經元死亡之謎!
- Omi 多端開發之 - omip 適配 h5 原理揭祕H5
- iOS開發程式之間的跳轉及跳轉到appStoreiOSAPP
- 解謎遊戲謎題設計研究(三):推理類謎題設計遊戲
- 解謎遊戲謎題設計研究(一):物品類謎題設計遊戲
- WDM驅動程式設計之設計開發篇 (轉)程式設計
- C++程式設計從零開始之語句(轉)C++程式設計
- 遊戲開發新手入門之Windows程式設計(轉)遊戲開發Windows程式設計
- 解謎遊戲謎題設計研究(二):機關類謎題設計遊戲
- 計算機通訊之謎,帶你徹底理解socket網路程式設計(五)計算機程式設計