其實它只是利用了“任務管理器”無法檢視程序對應可執行檔案這一缺陷。我們知道svchost.exe程序對應的可執行檔案位於“c:\windows\system32”目錄下(windows2000則是c:\winnt\system32目錄),如果病毒將自身複製到“c:\windows\”中,並改名為svchost.exe,執行後,我們在“任務管理器”中看到的也是svchost.exe,和正常的系統程序無異。你能辨別出其中哪一個是病毒的程序嗎? 3.借屍還魂 除了上文中的兩種方法外,病毒還有一招終極大法——借屍還魂。所謂的借屍還魂就是病毒採用了程序插入技術,將病毒執行所需的dll檔案插入正常的系統程序中,表面上看無任何可疑情況,實質上系統程序已經被病毒控制了,除非我們藉助專業的程序檢測工具,否則要想發現隱藏在其中的病毒是很困難的。 系統程序解惑 上文中提到了很多系統程序,這些系統程序到底有何作用,其執行原理又是什麼?下面我們將對這些系統程序進行逐一講解,相信在熟知這些系統程序後,就能成功破解病毒的“以假亂真”和“偷樑換柱”了。 svchost.exe 常被病毒冒充的程序名有:svch0st.exe、schvost.exe、scvhost.exe。隨著windows系統服務不斷增多,為了節省系統資源,微軟把很多服務做成共享方式,交由svchost.exe程序來啟動。而系統服務是以動態連結庫(dll)形式實現的,它們把可執行程式指向scvhost,由cvhost呼叫相應服務的動態連結庫來啟動服務。我們可以開啟“控制面板”→“管理工具”→服務,雙擊其中“clipbook”服務,在其屬性面板中可以發現對應的可執行檔案路徑為“c:\windows\system32\clipsrv.exe”。再雙擊“alerter”服務,可以發現其可執行檔案路徑為“c:\windows\system32\svchost.exe -k localservice”,而“server”服務的可執行檔案路徑為“c:\windows\system32\svchost.exe -k netsvcs”。正是透過這種呼叫,可以省下不少系統資源,因此係統中出現多個svchost.exe,其實只是系統的服務而已。 在windows2000系統中一般存在2個svchost.exe程序,一個是rpcss(remoteprocedurecall)服務程序,另外一個則是由很多服務共享的一個svchost.exe;而在windowsxp中,則一般有4個以上的svchost.exe服務程序。如果svchost.exe程序的數量多於5個,就要小心了,很可能是病毒假冒的,檢測方法也很簡單,使用一些程序管理工具,例如windows最佳化大師的程序管理功能,檢視svchost.exe的可執行檔案路徑,如果在“c:\windows\system32”目錄外,那麼就可以判定是病毒了。 spoolsv.exe 常被病毒冒充的程序名有:spoo1sv.exe、spolsv.exe。spoolsv.exe是系統服務“print spooler”所對應的可執行程式,其作用是管理所有本地和網路列印佇列及控制所有列印工作。如果此服務被停用,計算機上的列印將不可用,同時spoolsv.exe程序也會從計算機上消失。如果你不存在印表機裝置,那麼就把這項服務關閉吧,可以節省系統資源。停止並關閉服務後,如果系統中還存在spoolsv.exe程序,這就一定是病毒偽裝的了。 限於篇幅,關於常見程序的介紹就到這裡,我們平時在檢查程序的時候如果發現有可疑,只要根據兩點來判斷:1.仔細檢查程序的檔名;2.檢查其路徑。透過這兩點,一般的病毒程序肯定會露出馬腳。 找個管理程序的好幫手 系統內建的“任務管理器”功能太弱,肯定不適合查殺病毒。因此我們可以使用專業的程序管理工具,例如procexp。procexp可以區分系統程序和一般程序,並且以不同的顏色進行區分,讓假冒系統程序的病毒程序無處可藏。 執行procexp後,程序會被分為兩大塊,“system idle process”下屬的程序屬於系統程序, explorer.exe”下屬的程序屬於一般程序。我們介紹過的系統程序svchost.exe、winlogon.exe等都隸屬於“system idle process”,如果你在“explorer.exe”中發現了svchost.exe,那麼不用說,肯定是病毒冒充的。 至於病毒採用的“借屍還魂”大法——dll插入技術,我們曾講解過破解方法,透過檢視其dll檔案的簽名即可,這點同樣可以在procexp中做到,在此不再闡述。 小貼士:在軟體的主介面我們可能看不到程序名和程序所對應的可執行檔案,我們可以點選其“檢視”選單→“選擇列”,勾選“程序名稱”和“映像路徑”,確定儲存即可。
其實它只是利用了“任務管理器”無法檢視程序對應可執行檔案這一缺陷。我們知道svchost.exe程序對應的可執行檔案位於“c:\windows\system32”目錄下(windows2000則是c:\winnt\system32目錄),如果病毒將自身複製到“c:\windows\”中,並改名為svchost.exe,執行後,我們在“任務管理器”中看到的也是svchost.exe,和正常的系統程序無異。你能辨別出其中哪一個是病毒的程序嗎? 3.借屍還魂 除了上文中的兩種方法外,病毒還有一招終極大法——借屍還魂。所謂的借屍還魂就是病毒採用了程序插入技術,將病毒執行所需的dll檔案插入正常的系統程序中,表面上看無任何可疑情況,實質上系統程序已經被病毒控制了,除非我們藉助專業的程序檢測工具,否則要想發現隱藏在其中的病毒是很困難的。 系統程序解惑 上文中提到了很多系統程序,這些系統程序到底有何作用,其執行原理又是什麼?下面我們將對這些系統程序進行逐一講解,相信在熟知這些系統程序後,就能成功破解病毒的“以假亂真”和“偷樑換柱”了。 svchost.exe 常被病毒冒充的程序名有:svch0st.exe、schvost.exe、scvhost.exe。隨著windows系統服務不斷增多,為了節省系統資源,微軟把很多服務做成共享方式,交由svchost.exe程序來啟動。而系統服務是以動態連結庫(dll)形式實現的,它們把可執行程式指向scvhost,由cvhost呼叫相應服務的動態連結庫來啟動服務。我們可以開啟“控制面板”→“管理工具”→服務,雙擊其中“clipbook”服務,在其屬性面板中可以發現對應的可執行檔案路徑為“c:\windows\system32\clipsrv.exe”。再雙擊“alerter”服務,可以發現其可執行檔案路徑為“c:\windows\system32\svchost.exe -k localservice”,而“server”服務的可執行檔案路徑為“c:\windows\system32\svchost.exe -k netsvcs”。正是透過這種呼叫,可以省下不少系統資源,因此係統中出現多個svchost.exe,其實只是系統的服務而已。 在windows2000系統中一般存在2個svchost.exe程序,一個是rpcss(remoteprocedurecall)服務程序,另外一個則是由很多服務共享的一個svchost.exe;而在windowsxp中,則一般有4個以上的svchost.exe服務程序。如果svchost.exe程序的數量多於5個,就要小心了,很可能是病毒假冒的,檢測方法也很簡單,使用一些程序管理工具,例如windows最佳化大師的程序管理功能,檢視svchost.exe的可執行檔案路徑,如果在“c:\windows\system32”目錄外,那麼就可以判定是病毒了。 spoolsv.exe 常被病毒冒充的程序名有:spoo1sv.exe、spolsv.exe。spoolsv.exe是系統服務“print spooler”所對應的可執行程式,其作用是管理所有本地和網路列印佇列及控制所有列印工作。如果此服務被停用,計算機上的列印將不可用,同時spoolsv.exe程序也會從計算機上消失。如果你不存在印表機裝置,那麼就把這項服務關閉吧,可以節省系統資源。停止並關閉服務後,如果系統中還存在spoolsv.exe程序,這就一定是病毒偽裝的了。 限於篇幅,關於常見程序的介紹就到這裡,我們平時在檢查程序的時候如果發現有可疑,只要根據兩點來判斷:1.仔細檢查程序的檔名;2.檢查其路徑。透過這兩點,一般的病毒程序肯定會露出馬腳。 找個管理程序的好幫手 系統內建的“任務管理器”功能太弱,肯定不適合查殺病毒。因此我們可以使用專業的程序管理工具,例如procexp。procexp可以區分系統程序和一般程序,並且以不同的顏色進行區分,讓假冒系統程序的病毒程序無處可藏。 執行procexp後,程序會被分為兩大塊,“system idle process”下屬的程序屬於系統程序, explorer.exe”下屬的程序屬於一般程序。我們介紹過的系統程序svchost.exe、winlogon.exe等都隸屬於“system idle process”,如果你在“explorer.exe”中發現了svchost.exe,那麼不用說,肯定是病毒冒充的。 至於病毒採用的“借屍還魂”大法——dll插入技術,我們曾講解過破解方法,透過檢視其dll檔案的簽名即可,這點同樣可以在procexp中做到,在此不再闡述。 小貼士:在軟體的主介面我們可能看不到程序名和程序所對應的可執行檔案,我們可以點選其“檢視”選單→“選擇列”,勾選“程序名稱”和“映像路徑”,確定儲存即可。