服務,是指執行指定系統功能的程序、例程或進程,以便支持其他程序,尤其是低層(接近硬件)程序。其實,服務就是一種特殊的應用程序,它從服務啟動開始就一直處於運行狀態,而普通應用程序在運行之後就處於休眠狀態,直到用戶再次對其進行操作;在WinXP裡,服務是在系統加載以後就自動啟動的,而不需要登陸,但自動運行的普通應用程序是在WinXP加載並登錄以後才執行的,關於手動添加服務需要的情況並不多,但是還是可能會遇到。
這裡收集整理如下:
由於Windows平台下的應用程序並不是每個都可以作為服務正常運行的,因此,對於安裝服務,一般分為兩種情況:
情況一:安裝可以作為服務運行的程序成為WinXP的服務;
情況二:安裝不可以作為服務運行的程序(即普通的應用程序)成為WinXP的服務。
使用安裝工具:srvinstw.exe和srvany.exe,Win2000資源工具包中提供的工具;(這種方法在此不多說了,如有需要可留言)
下面是手工添加服務的方法,適用用找不到添加工具的時候手工添加服務,呵呵,很多病毒、木馬也是這樣添加的!!
通過修改注冊表來添加服務:
在注冊表編輯器,展開分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" ,在右側窗格中顯示的就是本機安裝的服務項。如果要新建服務,只須點擊"編輯→新建→項" ,然後為此項命名,如"test";然後右擊該項,選擇"新建→字符串值"或"新建→Dword值"即可。添加一個服務項目具體需要添加的鍵值如下:
"DisplayName",字符串值,對應服務名稱;
"Description",字符串值,對應服務描述;
"ImagePath",字符串值,對應該服務程序所在的路徑;
"ObjectName",字符串值,值為"LocalSystem",表示本地登錄;
"ErrorControl",Dword值,值為"1";
"Start",Dword值,值為2表示自動運行,值為3表示手動運行,值為4表示禁止;
"Type",Dword值,應用程序對應10,其它對應20。
另外,還要在"test"項下新建一個"Enum"項。如果有些必須通過srvany來加載的還必須添加另外的Parameters子項在該項中提供詳細的要加為服務的程序所在的路徑。而上面的那個路徑就需要指到srvany所在的路徑。
上面提到的是如何添加服務,怎麼刪除windows服務呢,請繼續看:
一、Windows服務
Windows服務也稱為Windows Service,它是Windows操作系統和Windows網絡的基礎,屬於系統核心的一部分,它支持著整個Windows的各種操作。諸如DNS客戶端、打印程序、Windows更新服務、計劃任務、Windows時間服務、告警器等服務,它們關系到機器能否正確運行。如果不能適當地管理這些服務,就會影響到機器的正常操作。
一個服務首先是一個Win32可執行程序,或者是是rundll32.exe來運行一個.dll的方式形成的進程。
跟普通應用程序不一樣,如打開WORD,有一個界面出來,但服務沒有用戶界面。也不能通過直接雙擊運行相應的.exe程序來運行。那Windows又是如何控制一個服務的?
Windows的服務由更上一級的services.exe這個服務來管理,由它來管理,負責進行服務的啟動、停止、運行,暫停等。我們最常用的操作就是通過Windows的服務MMC界面來完成相關操作。
二、如何刪除Windows服務
現在的流氓軟件,越來越多把自己注冊為一個服務。在Hijackthis的掃描日志中,一般會
把非Windows系統的服務以023的方式列出來,如下面這段:
O23 - 未知 - Service: BKMARKS [提供傳輸協議的數據安全保護機制,有效維護數據傳輸中的安全及完整。] - C:\WINDOWS\SYSTEM32\RUNDLL.EXE
O23 - 未知 - Service: ewido anti-spyware 4.0 guard [ewido anti-spyware 4.0 guard] - D:\Program Files\ewido anti-spyware 4.0\guard.exe
O23 - 未知 - Service: KSD2Service [KSD2Service] - C:\WINDOWS\system32\SVCH0ST.exe
對於這些流氓軟件,需要刪除相關的.exe文件,使它不能再運行,或者直接清除這個服務本身,使計算機重啟的時候,它不會再啟動。
刪除的辦法有兩個:
辦法一: 用sc.exe這個Windows命令
開始——運行——cmd.exe,然後輸入sc就可以看到了。使用辦法很簡單:
sc delete "服務名"(如sc deleteService 83F9085F)
如針對上面的: sc delete KSD2Service
方法二:直接進行注冊表編輯(不推薦)
打開注冊表編輯器,找到下面的鍵值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
一般服務會以相同的名字
在這裡顯示一個主健,直接刪除相關的鍵值便可。
(HKEY_CURRENT_USER\SYSTEM\CurrentControlSet\Services 下可能也有,可在注冊表中查找刪除)
三、特殊情況
1、如果服務顯示的是rundll32.exe,並且這個文件是位於system32目錄下,那麼就不能刪除這個rundll32.exe文件,它是Windows系統的文件。這時只要清除相關的服務就可以了
2、如果一個服務刪除了馬上又自動建立了,說明後台有進程在監視、保護。需要先在進程管理器中殺掉相應的進程,或者啟動後按F8,到安全模式下刪除