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

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

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

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

一、什么是Windows服務(wù)

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

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

二、那Windows又是如何控制一個(gè)服務(wù)的?

Windows的服務(wù)由更上一級的services.exe這個(gè)服務(wù)來管理,由它來管理,負(fù)責(zé)進(jìn)行服務(wù)的啟動(dòng)、停止、運(yùn)行,暫停等。我們最常用的操作就是通過Windows的服務(wù)MMC界面來完成相關(guān)操作。

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



三、如何刪除Windows服務(wù)

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

O23 - 未知 - Service: BKMARKS [提供傳輸協(xié)議的數(shù)據(jù)安全保護(hù)機(jī)制,有效維護(hù)數(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

對于這些流氓軟件,需要?jiǎng)h除相關(guān)的.exe文件,使它不能再運(yùn)行,或者直接清除這個(gè)服務(wù)本身,使計(jì)算機(jī)重啟的時(shí)候,它不會(huì)再啟動(dòng)。

刪除的辦法有兩個(gè):

辦法一: 用sc.exe這個(gè)Windows命令

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

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

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

如針對上面的: sc delete KSD2Service

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

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

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

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services一般服務(wù)會(huì)以相同的名字在這里顯示一個(gè)主健,直接刪除相關(guān)的鍵值便可。

四、特殊情況

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

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

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

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

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

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

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

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