如何刪除隱藏在Win7系統(tǒng)服務中的病毒?

2010/1/12 0:02:27    編輯:軟媒 - 笨笨     字體:【

Win7之家m.airtaxifl.com):如何刪除隱藏在Win7系統(tǒng)服務中的病毒?

在談這個話題之前,我們先簡要的來了解下,什么是Windows服務。

一、什么是Windows服務

Windows服務也稱為Windows Service,它是Windows操作系統(tǒng)和Windows網(wǎng)絡的基礎,屬于系統(tǒng)核心的一部分,它支持著整個Windows的各種操作。諸如DNS客戶端、打印程序、Windows更新服務、計劃任務、Windows時間服務等服務,它們關系到機器能否正確運行。如果不能適當?shù)毓芾磉@些服務,就會影響到機器的正常操作。

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

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

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

Windows7系統(tǒng)中,我們點擊開始菜單,在搜索框里面輸入“服務”,雙擊最上面的第一個結果即可打開服務管理——



三、如何刪除Windows服務

現(xiàn)在的流氓軟件,越來越多把自己注冊為一個服務。一般會把非Windows系統(tǒng)的服務以023的方式列出來,如下面這段:

O23 - 未知 - Service: BKMARKS [提供傳輸協(xié)議的數(shù)據(jù)安全保護機制,有效維護數(shù)據(jù)傳輸中的安全及完整。] - 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 加上參數(shù)就可以了,使用辦法很簡單:

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

如針對上面的: sc delete KSD2Service

sc 命令的詳解,參看本文下方,Windows7之家已經(jīng)幫您整理。

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

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

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

四、特殊情況

1、如果服務顯示的是rundll32.exe,并且這個文件是位于system32目錄下,那么就不能刪除這個rundll32.exe文件,它是Windows系統(tǒng)的文件。這時只要清除相關的服務就可以了。

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

////// 附錄:SC 命令行程序 參數(shù)詳解 ///////

描述:
        SC 是用于與服務控制管理器和服務進行通信的命令行程序。
用法:
        sc <server> [command] [service name] <option1> <option2>...

        選項 <server> 的格式為 "\\ServerName"
        鍵入 "sc [command]" 可以獲得有關命令的進一步幫助
        命令:
          query-----------查詢服務的狀態(tài),
                          或枚舉服務類型的狀態(tài)。
          queryex---------查詢服務的擴展狀態(tài),
                          或枚舉服務類型的狀態(tài)。
          start-----------啟動服務。
          pause-----------向服務發(fā)送 PAUSE 控制請求。
          interrogate-----向服務發(fā)送 INTERROGATE 控制請求。
          continue--------向服務發(fā)送 CONTINUE 控制請求。
          stop------------向服務發(fā)送 STOP 請求。
          config----------更改服務的配置(永久)。
          description-----更改服務的描述。
          failure---------更改服務失敗時執(zhí)行的操作。
          failureflag-----更改服務的失敗操作標志。
          sidtype---------更改服務的服務 SID 類型。
          privs-----------更改服務的所需權限。
          qc--------------查詢服務的配置信息。
          qdescription----查詢服務的描述。
          qfailure--------查詢失敗時服務執(zhí)行的操作。
          qfailureflag----查詢服務的失敗操作標志。
          qsidtype--------查詢服務的服務 SID 類型。
          qprivs----------查詢服務的所需權限。
          qtriggerinfo----查詢服務的觸發(fā)器參數(shù)。
          qpreferrednode--查詢首選的服務 NUMA 節(jié)點。
          delete----------(從注冊表)刪除服務。
          create----------創(chuàng)建服務(將其添加到注冊表)。
          control---------向服務發(fā)送控制。
          sdshow----------顯示服務的安全描述符。
          sdset-----------設置服務的安全描述符。
          showsid---------顯示相應于假定名稱的 SID 字符串。
          triggerinfo-----配置服務的觸發(fā)器參數(shù)。
          preferrednode---設置首選的服務 NUMA 節(jié)點。
          GetDisplayName--獲取服務的 DisplayName
          GetKeyName------獲取服務的 ServiceKeyName。
          EnumDepend------枚舉服務的依存關系。

        下列命令不要求服務名稱:
        sc <server> <command> <option>
          boot------------(ok | bad) 指示是否將上一次啟動保存為
                          最近一次已知的正確啟動配置
          Lock------------鎖定服務數(shù)據(jù)庫
          QueryLock-------查詢 SCManager 數(shù)據(jù)庫的 LockStatus
示例:
        sc start MyService

QUERY 和 QUERYEX 選項:
        如果查詢命令帶服務名稱,將返回
        該服務的狀態(tài)。其他選項不適合這種
        情況。如果查詢命令不帶參數(shù)或
        帶下列選項之一,將枚舉此服務。
    type=    要枚舉的服務的類型(driver, service, all)
             默認 = service)
    state=   要枚舉的服務的狀態(tài) (inactive, all)
             (默認 = active)
    bufsize= 枚舉緩沖區(qū)的大小(以字節(jié)計)
             (默認 = 4096)
    ri=      開始枚舉的恢復索引號
             (默認 = 0)
    group=   要枚舉的服務組
             (默認 = all groups)

語法示例
sc query                - 枚舉活動服務和驅(qū)動程序的狀態(tài)
sc query eventlog       - 顯示 eventlog 服務的狀態(tài)
sc queryex eventlog     - 顯示 eventlog 服務的擴展狀態(tài)
sc query type= driver   - 僅枚舉活動驅(qū)動程序
sc query type= service  - 僅枚舉 Win32 服務
sc query state= all     - 枚舉所有服務和驅(qū)動程序
sc query bufsize= 50    - 枚舉緩沖區(qū)為 50 字節(jié)
sc query ri= 14         - 枚舉時恢復索引 = 14
sc queryex group= ""    - 枚舉不在組內(nèi)的活動服務
sc query type= interact - 枚舉所有不活動服務
sc query type= driver group= NDIS     - 枚舉所有 NDIS 驅(qū)動程序