當前位置:係統粉 >  係統教程 > Win7係統教程 >  如何刪除隱藏在Win7係統服務中的病毒?

如何刪除隱藏在Win7係統服務中的病毒?

時間:2015-04-16 來源:互聯網 瀏覽量:

   一、什麼是Windows服務

  Windows服務也稱為Windows Service,它是Windows操作係統和Windows網絡的基礎,屬於係統核心的一部分,它支持著整個Windows的各種操作。諸如DNS客戶端、打印程序、Windows更新服務、計劃任務、Windows時間服務等服務,它們關係到機器能否正確運行。如果不能適當地管理這些服務,就會影響到機器的正常操作。

  一個服務首先是一個Win32可執行程序,或者是是rundll32.exe來運行一個.dll的方式形成的進程。跟普通應用程序不一樣,如打開 WORD,有一個界麵出來,但服務沒有用戶界麵。也不能通過直接雙擊運行相應的.exe程序來運行。

  二、那Windows又是如何控製一個服務的?

  Windows的服務由更上一級的services.exe這個服務來管理,由它來管理,負責進行服務的啟動、停止、運行,暫停等。我們最常用的操作就是通過Windows的服務MMC界麵來完成相關操作。

  在windows7係統中,我們點擊開始菜單,在搜索框裏麵輸入“服務”,雙擊最上麵的第一個結果即可打開服務管理——

  三、如何刪除Windows服務

  現在的流氓軟件,越來越多把自己注冊為一個服務。一般會把非Windows係統的服務以023的方式列出來,如下麵這段:

  O23 - 未知 - Service: BKMARKS [提供傳輸協議的數據安全保護機製,有效維護數據傳輸中的安全及完整。] - C:WINDOWSSYSTEM32RUNDLL.EXE

  O23 - 未知 - Service: ewido anti-spyware 4.0 guard [ewido anti-spyware 4.0 guard] - D:Program Filesewido anti-spyware 4.0guard.exe

  O23 - 未知 - Service: KSD2Service [KSD2Service] - C:WINDOWSsystem32SVCH0ST.exe

  對於這些流氓軟件,需要刪除相關的.exe文件,使它不能再運行,或者直接清除這個服務本身,使計算機重啟的時候,它不會再啟動。

  刪除的辦法有兩個:

  辦法一: 用SC.exe這個Windows命令

  點擊開始菜單 -》 所有程序 -》 附件 -》 命令行程序,右鍵菜單中選擇“以管理員方式運行”。

  這樣,就用管理員身份打開了一個命令行程序,輸入 SC 加上參數就可以了,使用辦法很簡單:

  SC delete "服務名"(如果服務名中間有空格,就需要前後加引號)

  如針對上麵的: SC delete KSD2Service

  SC 命令的詳解,參看本文下方,windows7之家已經幫您整理。

  方法二:直接進行注冊表編輯(不推薦)

  打開注冊表編輯器,找到下麵的鍵值:

  HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services一般服務會以相同的名字在這裏顯示一個主健,直接刪除相關的鍵值便可。

  四、特殊情況

  1、如果服務顯示的是rundll32.exe,並且這個文件是位於system32目錄下,那麼就不能刪除這個rundll32.exe文件,它是Windows係統的文件。這時隻要清除相關的服務就可以了。

  2、如果一個服務刪除了馬上又自動建立了,說明後台有進程在監視、保護。需要先在進程管理器中殺掉相應的進程,或者啟動後按F8,到WIN7安全模式下刪除。

  ////// 附錄:SC 命令行程序 參數詳解 ///////

  描述:

  SC 是用於與服務控製管理器和服務進行通信的命令行程序。

  用法:

  SC [command] [service name] ...

  選項 的格式為 "\\ServerName"

  鍵入 "SC [command]" 可以獲得有關命令的進一步幫助

  命令:

  query-----------查詢服務的狀態,

  或枚舉服務類型的狀態。

  queryex---------查詢服務的擴展狀態,

  或枚舉服務類型的狀態。

  start-----------啟動服務。

  pause-----------向服務發送 PAUSE 控製請求。

  interrogate-----向服務發送 INTERROGATE 控製請求。

  continue--------向服務發送 CONTINUE 控製請求。

  stop------------向服務發送 STOP 請求。

  config----------更改服務的配置(永久)。

  deSCription-----更改服務的描述。

  failure---------更改服務失敗時執行的操作。

  failureflag-----更改服務的失敗操作標誌。

  sidtype---------更改服務的服務 SID 類型。

  privs-----------更改服務的所需權限。

  qc--------------查詢服務的配置信息。

  qdeSCription----查詢服務的描述。

  qfailure--------查詢失敗時服務執行的操作。

  qfailureflag----查詢服務的失敗操作標誌。

  qsidtype--------查詢服務的服務 SID 類型。

  qprivs----------查詢服務的所需權限。

  qtriggerinfo----查詢服務的觸發器參數。

  qpreferrednode--查詢首選的服務 NUMA 節點。

  delete----------(從注冊表)刪除服務。

  create----------創建服務(將其添加到注冊表)。

  control---------向服務發送控製。

  sdshow----------顯示服務的安全描述符。

  sdset-----------設置服務的安全描述符。

  showsid---------顯示相應於假定名稱的 SID 字符串。

  triggerinfo-----配置服務的觸發器參數。

  preferrednode---設置首選的服務 NUMA 節點。

  GetDisplayName--獲取服務的 DisplayName

  GetKeyName------獲取服務的 ServiceKeyName。

  EnumDepend------枚舉服務的依存關係。

  下列命令不要求服務名稱:

  SC

  boot------------(ok | bad) 指示是否將上一次啟動保存為

  最近一次已知的正確啟動配置

  Lock------------鎖定服務數據庫

  QueryLock-------查詢 SCManager 數據庫的 LockStatus

  示例:

  SC start MyService

  QUERY 和 QUERYEX 選項:

  如果查詢命令帶服務名稱,將返回

  該服務的狀態。其他選項不適合這種

  情況。如果查詢命令不帶參數或

  帶下列選項之一,將枚舉此服務。

  type= 要枚舉的服務的類型(driver, service, all)

  默認 = service)

  state= 要枚舉的服務的狀態 (inactive, all)

  (默認 = active)

  bufsize= 枚舉緩衝區的大小(以字節計)

  (默認 = 4096)

  ri= 開始枚舉的恢複索引號

  (默認 = 0)

  group= 要枚舉的服務組

  (默認 = all groups)

  語法示例

  SC query - 枚舉活動服務和驅動程序的狀態

  SC query eventlog - 顯示 EVEntlog 服務的狀態

  SC queryex eventlog - 顯示 EVEntlog 服務的擴展狀態

  SC query type= driver - 僅枚舉活動驅動程序

  SC query type= service - 僅枚舉 Win32 服務

  SC query state= all - 枚舉所有服務和驅動程序

  SC query bufsize= 50 - 枚舉緩衝區為 50 字節

  SC query ri= 14 - 枚舉時恢複索引 = 14

  SC queryex group= "" - 枚舉不在組內的活動服務

  SC query type= interact - 枚舉所有不活動服務

  SC query type= driver group= NDIS - 枚舉所有 NDIS 驅動程序

我要分享:
版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航