大都會論壇 Archiver

陳基 發表於 2004-2-27 13:52

不可“濫殺無辜” 揭開進程的神秘面紗

不可“濫殺無辜” 揭開進程的神秘面紗

對於進程這個概念,許多電腦用戶都沒有給予太多關注。在很多人印象裏,只知道結束進程可以殺死程式,至於哪些進程對應哪些程式, 究竟什麽樣的進程該殺,什麽樣的進程不能殺這些問題很少考慮。這裏通過幾個實例爲大家揭開進程的神秘面紗。


  實例一:和進程的“表演者”交個朋友

  很多時候,我們並沒有注意到系統中到底有多少進程。如果想瞭解進程的秘密,首先就必須和一些常見系統進程交個朋友,一旦掌握 了它們,就能像偵探一樣迅速從進程名單中發現可疑的傢夥。

  在Windows 2000/XP中,Ctrl+Shift+Esc組合鍵能快速調出任務管理器,而Windows 9X爲Ctrl+Alt+Del組合鍵。

  1.“主角”進程

  首先來熟悉一下系統中的基本進程,它們是系統運行的基本條件,一般情況下不能關閉它們,否則會導致系統崩潰。

  Windows 2000/XP:smss.exe、csrss.exe、winlogon.exe、services.exe、lsass.e xe、svchost.exe(可以同時存在多個)、spoolsv.exe、explorer.exe、System Idle Process;

  Windows 9x:msgsrv32.exe、mprexe.exe、mmtask.tsk、kenrel32.dll。

  你知道嗎

  進程與程式

  簡單地說,每啓動一個程式,就啓動了一個進程。在Windows 3.x中,進程是最小運行單位。在Windows 9X/2000/XP中,每個進程還可以啓動幾個線程,比如每下載一個文件可以單獨開一個線程。在Windows 9X/2000/XP中,線程是最小單位。程式是永存的,進程是暫時的。舉一個例子說:如果程式是劇本,那麽表演過程就是進程; 如果程式是菜譜,那麽烹調過程就是進程。

  人鬼情未了——Svchost.exe

  它位於系統目錄的System32文件夾,是從動態連結程式庫(DLL)運行服務的一般性宿主進程。在任務管理器中,可能會看到 多個Svchost.exe在運行,不要大驚小怪,這可能是多個DLL文件在調用它。不過,正因爲如此,它也成爲了病毒利用的對 象,以前的“藍色代碼”病毒就是一例。另外,如果感染了衝擊波病毒,系統也會提示“Svchost.exe出現錯誤”。

  如果要查看哪些服務正在使用Svchost.exe,對於Windows 2000可從其安裝光碟的SupportToolsSupport.cab壓縮包中,將Tlist.exe解壓縮至任意目錄,接 著在“命令提示符”中進入Tlist.exe所在目錄,輸入“tlist -s”並回車(“tlist pid”命令可看到詳細資訊)。而在Windows XP則直接輸入“Tasklist /SVC”查看進程資訊(“Tasklist /fi "PID eq processID"”則可看到詳細資訊)。

  2.“配角”進程

  這些系統進程雖然不是系統運行必須的,但也經常在進程列表中抛頭露面。如internat.exe、systray.exe 、rundll32.exe、loadwc.exe、ddhelp.exe、mstask.exe、ctfmon.exe、ta skmagr.exe、msnmsgr.exe、wmiexe.exe,它們都是正常的系統進程。

  建議在安裝完Windows後,點擊“開始→程式→附件→系統工具→系統資訊”,在打開的“系統資訊”視窗中再點擊“軟體環 境→正在運行任務”(在此進程列表中,可看到更詳細的屬性,其中程式路徑是非常重要的資訊),接著點擊“操作→另存成文字檔案” ,以後系統出現異常時則對照進行分析。另外,“優化大師”也提供了保存進程快照的功能●。

  實例二:查找木馬的蛛絲馬迹

  許多木馬和一些防護工具採用了雙進程保護手段,例如“Falling Star”木馬就採用雙進程模式,下面來看看如何發現它們。

  第一步:打開任務管理器。根據和常見進程比較,很明顯會發現兩個“熟悉的陌生人”(和系統基本進程名稱相似,但不相同):“ internet.exe”和“systemtray.exe”。請和上一實例中的”配角“進程比較。

  第二步:打開“系統資訊”的“軟體環境→正在運行任務”,查看路徑資訊,兩者均指向WindowsSystem32目錄,而 且文件大小、日期均相同,但從文件日期來看並不屬於微軟的系統文件。進入資源管理器查看其版本屬性,雖然公司標明爲Micros oft,但與系統文件中的微軟公司名稱書寫並不相同,基本可斷定是非法進程,並且爲雙進程模式。

  第三步:在嘗試結束進程時,第一次選擇“systemtray.exe”來結束進程樹,結果進程馬上就再生了,任務管理器中 又顯示出這兩個進程!於是再次選擇“internet.exe”,然後結束進程樹●。進程沒有再生,從而將木馬進程從系統中清除 。

  實例三:真真假假系統進程

  許多病毒和木馬爲避免從進程名稱中發現它們的蹤影,往往會採用“障眼法”,使用和系統文件或系統進程名稱類似的進程名稱。

  1.檔案名僞裝

  (1)修改常見程式或進程個別字元

  例如,上面介紹的“Falling Star”木馬的進程名稱“internet.exe”就與輸入法進程“internat.exe”十分相似。“WAY無賴小子 ”的服務端進程名稱爲“msgsvc.exe”,與系統基本進程“msgsrv32.exe”類似,還有Explorer.ex e和Exp1orer.exe的區別,不仔細的話你能看出來嗎?(數位“1”取代了字母“l”)

  (2)修改副檔名

  著名的冰河木馬的服務端進程爲Kernel32.exe,乍一看很熟悉,好像是哪個系統進程,其實系統根本不存在這樣一個文 件,Windows 9x的基本進程中卻有一個叫做“Kernel32.dll”的。諸如此類的還有“Shell32.exe”的木馬進程是從“Sh ell32.dll”這個大家都很熟悉的文件“演變”而來的,實際在系統中都是不存在的。

  2.路徑僞裝

  Windows目錄和System目錄是系統核心文件所在地,一般是“閒人免進”。因此,出入它們的文件一般都被人們認爲是 系統文件,而病毒和木馬就借機將原始檔案放在這兩個目錄中。對於這類情況,一般只需要通過系統資訊找到其原始檔案路徑,打開文件的屬 性,從日期(這個非常重要,可以看是否與系統文件日期一樣)、版本、公司名稱資訊中即可看出破綻。沒有哪個病毒、木馬文件能設計 得與系統文件完全一致。

  實例四:優化系統從進程開始

  除系統運行必須的基本進程外,每個程式運行後都會在系統中生成進程,每個進程都會佔用一定的CPU資源和記憶體資源。過多的進 程和一些設計不良的進程就會導致系統變慢、性能下降,這時可對它們進行一下優化。

1.精簡進程

  系統中的一些進程並不是必須的,結束它們並不會對系統造成什麽損害。

  比如:internat.exe(顯示輸入法圖示)、systray.exe(顯示系統託盤小喇叭圖示)、ctfmon.e xe(微軟Office輸入法)、mstask.exe(計劃任務)、sysexplr.exe(超級解霸伺服器)、winam pa.exe(Winamp代理)、wzqkpick.exe(WinZip助手)等。

  有一款叫做“進程殺手”的免費小工具,具備自動精簡進程功能,可自動中止系統基本進程以外的所有進程。在懷疑電腦運行了某些 黑客進程或病毒進程但又不能確定是哪一個時,該軟體就可以有效清除那些非法進程。不過它只適合Windows 9x/Me。下載地址[url]http://www.onlinedown.net/soft/11003.htm[/url]

  2.殺死不良進程

  有時你會發現系統運行速度特別慢,這時可打開任務管理器,單擊“進程”標簽,點擊“CPU”列標簽讓進程按CPU資源佔用排 序,可以很明顯地看到資源佔用最高的程式。同樣方法,可以點擊“記憶體”列標簽,查看那些記憶體佔用大戶,及時結束進程。

  這裏有一種情況比較特殊:在查看CPU佔用率時,一個叫做“System Idle Process”的進程會一直顯示在90%左右。不必擔心,實際上它並沒有佔用這麽多系統資源,單擊“性能”標簽可看到其實際的 CPU資源佔用情況。

  ★對於Windows 9x,使用任務管理器是無法像Windows 2000/XP那樣看到所有進程以及CPU、記憶體佔用情況,推薦使用Process Explorer(下載位址[url]http://www.onlinedown.net/soft/19289.htm)[/url]。

  ★如果某個16位元程式影響了系統運行,而且死活也關不掉,可進入任務管理器的進程選項卡,找到NTVDM.exe進程,將其 關掉即可殺掉所有16位元應用程式,而不用重啓。

3.優化軟體或遊戲性能

  你還可以通過改變軟體和遊戲進程優先順序來提高其性能,這樣能使它們運行得更快,當然負作用就是可能影響到其他正在運行的進程 。比如,爲避免刻錄緩存溢出問題造成刻錄失敗,可進入任務管理器的進程選項卡,找到並右擊刻錄軟體的進程項,選擇“設置優先順序” ,然後在彈出的子功能表中選擇“高”。如果你不想每次都這樣設置,可使用下面的方法。

  第一步:打開軟體或遊戲所在目錄,比如:D:/game,在這裏新建一個文字檔案,在其中輸入以下語句:

  echo off

  start /priority game.exe

  說明:將priority替換爲所需的CPU優先順序,建議使用high(高)、abovenormal(高於標準),因爲它 們的效果最好。將game.exe替換爲軟體或遊戲的可執行檔案名稱,比如:stvoy.exe。

  第二步:做完以上修改後將其保存爲game.bat,現在就能通過這個文件來啓動遊戲或軟體,而它將會使遊戲或軟體具有更高 的CPU優先順序。不過要注意的是,該文件必須要保存在遊戲或軟體所在目錄。

ft2033 發表於 2005-3-18 16:31

辛苦你了, 受益良多,謝謝!!!!!!!!!

頁: [1]


Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.