??? 文章有點長,請進來看……
??? 以下的說法全部是建立在Windows XP的基礎上的。
??? 似乎現在很多人的電腦都染了病毒,很慘,我也是電腦小菜,也被病毒折磨過一段時日,所以寫下這篇文章,希望對那些還在被一些低級病毒折磨的人有點幫助,呵呵……
??? PS:因為我現在也只能殺殺低級病毒哦……
??? 我們都知道,一個程序要運行就必須被載入內存,而載入內存后,這個程序就成為了一個進程。所謂的系統進程,不過就是操作系統運行需要載入的程序而已,而病毒要運行也一樣,他們也一樣會被載入內存,成為進程,所以,只要我們認識好了進程,也就具備了手動殺毒的基本知識……
??? 首先,按Ctrl+Alt+Del打開任務管理器,點選進程,在底下的列表里面就列出了十幾個或者甚至幾十個進程,你會發現一些很熟悉的名字,比如iexplore.exe(Internet Explorer的進程名)、eMule.exe(EMule的進程名)、QQ.exe(QQ的進程名),所以我們大概可以猜到一般來說進程名和程序名是一樣的,但是也有例外。
??? 那么要學會手殺,就必須先認識這些7788的進程名,特別是系統進程,不然就會出現一些奇奇怪怪的問題……呵呵……
??? 以下是我暫時想起來的一部份常見的系統進程,當然實際上系統進程的數量要多得多,不認識的可以去網上查一下,或者去Baidu的知道里面問一下也可以:
??? alg.exe?Windows網絡連接共享和網絡連接防火墻
??? cmd.exe?命令行
??? conime.exe?輸入法編輯器相關程序
??? csrss.exe?子系統服務器進程
??? ctfmon.exe?Microsoft Office的語言欄
??? explorer.exe?資源管理器
??? internat.exe?托盤區的拼音圖標(注意:不是internet,是internat)
??? llssrv.exe?證書記錄服務
??? lsass.exe?管理IP 安全策略以及啟動IKE和IP 安全驅動程序
??? mstask.exe?計劃任務
??? nvsvc32.exe?NVIDIA顯示卡相關程序
??? point32.exe?微軟的鼠標驅動
??? regsvc.exe?遠程注冊表操作,開啟系統服務remoteregister運行的
??? services.exe?包含很多系統服務
??? smss.exe?session manager會話管理器
??? spoolsv.exe?打印緩沖池
??? svchost.exe?windows 2000/xp 的文件保護系統
??? system?Windows System Process
??? system idle process?用于顯示CPU可用資源百分比情況。
??? tftpd.exe?實現tftp internet標準。該標準不要求用戶名和密碼。
??? taskmgr.exe?任務管理器
??? userinit.exe??管理不同的啟動順序,載入完用戶后就退出運行了
??? wdfmgr.exe?一個系統服務windows user mode driver framework ,是安裝Windows media player 10添加的,用于減少兼容性問題。
??? winlogon.exe?管理用戶登錄
??? wmiexe.exe?Windows Management Instrumentation,Windows管理程序
??? wmiprvse.exe?Windows的一部份,通過WinMgmt.exe程序處理WMI操作
??? wuauclt.exe?Windows自動升級管理程序
??? 有點暈?正常,但是多看看就習慣了。
??? 接著,讓我們來想想病毒的習性,載入內存,復制和偽裝自己,感染文件,并且有一定的自我保護的能力,能在一定情況下復發。所以手殺病毒的思維應該是先結束掉病毒的進程,再找出并刪除與病毒相關的文件,再刪除和病毒相關的啟動項和服務,如果刪不掉,則重啟到安全模式,甚至DOS下(故障控制臺),刪除。
對了,介紹幾個工具:
??? 一個是進程分析工具ProcXP(Process Explorer),它的進程管理十分的底層,為了測試他的能力,你可以運行他,結束system看看,結果就是你的機子重啟了,因為他把Windows都結束掉了,呵呵……
???
http://www.shnenglu.com/Files/asp/ProcessExplorer.rar
??? 第二個工具就是文件關聯恢復器,因為現在很多的病毒都和應用程序掛上了鉤,所以殺毒的時候這個工具是十分有效的。
???
http://www.shnenglu.com/Files/asp/recover.rar
??? 第三個工具是IceSword,這個工具幾乎可以觀察系統中所有的情況,并且能夠刪除一些特別頑固的文件,還可以結束進程,不過個人做了試驗,發現它結束程序的權限好像沒有ProcXP高。
???
http://www.shnenglu.com/Files/asp/icesword_cn.rar
??? 接下來,我們就要開始學習怎么檢查和刪除病毒了。
??? 首先,看你的電腦有沒有異樣,比如開機就是一個temp1執行非法操作什么的;速度奇慢無比;插上別人的U盤,別人U盤里面就多了幾個文件等等,有就說明,你中彩了。
??? 運行文件關聯恢復器,把“使注冊表編輯器可用”選上,點開始修復,然后關掉它。
??? 打開ProcXP,第一次打開的時候會有提示框,選Yes就OK,接下來,你會看見他的界面,如下:

??? 里面有幾欄:
??? 第一欄Process,進程名和其父子關系。
??? 第二欄PID,就是進程在系統中的特定的ID——Process ID。
??? 第三欄CPU,CPU占用率
??? 第四欄Description,對程序的描述。
??? 第五欄Company Name,廠家名。
??? 另外把鼠標停在一個進程上一會兒,或者在上面點右鍵,點properties,就可以顯示出這個進程對應的程序是什么和這個程序加載了什么。
??? 然后就是看你的經驗了,找出那些很奇怪的進程吧,暫時我用的判定方法有:
??? 1、?經驗,認得病毒。(呵呵,等于沒有說)
??? 2、?一些偽裝自己的進程或者文件名:Rundl132.exe、Rundll.exe(偽裝Rundll32.exe)、scchost.exe、scvhost.exe、svchost..exe、svchost32.exe、svch0st.exe(偽裝svchost.exe)等等。
??? 3、?一些和系統進程名字一樣,但是路徑不一樣的,比如c:\windows\svchost.exe,而系統文件的路徑是:c:\windows\system32\svchost.exe等。
??? 4、?一些看著名字就不順眼的:sex.exe等。
??? 5、?一些很奇特的名字:123.exe、temp1.exe、temp2.exe、sxs.exe、qwer.exe、asdf.exe、run.dll等等。
??? 6、?一些名字和描述不符合的進程,比如Rundll32.exe描述變成了MS Rundll,而不是Run a Dll as an App。
??? 7、?用Rundll打開的程序,一般來說不是流氓軟件,就是木馬,呵呵,暫時給我的感覺就是這樣,當然也有例外。這就要自己去ProcXP里的Properties里面看了。
??? 8、?一些會動不動就會自己復制成幾個的進程,如stup.exe。
??? 9、?本不應該存在的進程,現在存在了,比如說一些非系統進程,常見于一些流氓軟件,比如:assisstant.exe(3721),YLive.exe(雅虎助手)
??? 確定好目標之后就要開始找病毒文件了。
??? 任意打開一個文件夾,點選工具,文件夾選項,查看。把下面列表里的隱藏受保護的系統文件(推薦)和隱藏已知文件類型的擴展名前面的勾點掉,再選上顯示所有文件和文件夾,這樣病毒就無處藏身了。但是有時候這種方法會無效,隱藏的文件照樣隱藏,比如Rose病毒的一個變種。解決方法是開始-〉運行-〉regedit,打開注冊表編輯器,到主鍵(即里面像文件夾的東西)HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/explorer / Advanced/Folder/Hidden/SHOWALL下面,把右邊列表里面的CheckedValue刪除,沒有的話也好,然后新建一個DWORD值,并設定該值為1,再到文件夾選項里面,就可以改了。
好的,現在顯示了所有的文件,病毒在哪里?ProcXP里面不是有寫程序的位置嗎,記下病毒的位置,結束病毒的進程,去吧,但是注意,這里有幾個注意事項:
??? 第一,進入磁盤和文件夾的時候不要直接雙擊,而要點右鍵,選打開,不然的話自動播放會把部分病毒又激活的。
??? 第二,如果是c:\windows\system32\rundll32.exe的話,那找的文件應該是rundll32.exe后面的加載項,rundll32.exe是無辜的。
找到病毒文件后,刪吧,后綴名為.exe的文件一般就刪了,但是如果是后綴名為.dll的文件,有時還是刪不掉的,怎么辦?
??? 打開ProcXP,點菜單欄里的Find,選Find Dlls,輸入你要刪的dll名,點Search,如果這個文件被底下調用,就會顯示在底下的列表框中,再一個個的找這幾個dll所在的進程,把這幾個進程結束掉,就可以刪除了。
刪除了病毒體,我們還要做一點殘余工作。
??? 再次運行文件關聯恢復器,把“使注冊表編輯器可用”選上,點開始修復,然后關掉它吧,它已經沒有利用價值了,呵呵(好殘忍哦)。
??? 比如,病毒復制的磁盤的自動播放,最著名的如rose病毒的一個變種,在每個盤下面都會建立文件,copy.exe、host.exe和autorun.ini,當然判定的依據是autorun.ini里面的內容,里面應該有autorun=,這個后面的內容就是病毒的位置,找到并刪掉吧,和autorun.ini一起刪掉之后,你會發現自動播放還在那里,并沒有刪除,這是因為在注冊表里面還有殘余的原因,還記得autorun=后面的內容嗎?運行regedit,進入注冊表,進入主鍵:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2,在里面搜索autorun=后面的內容,即copy.exe,把找到的項所對應的在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2下的主鍵整個刪掉,即可。注意可能有很多個,全部要刪哦。刪完之后,自動播放就沒有了。
??? 另外,還有病毒的啟動項,運行msconfig,選啟動,在列表框里面又很多的啟動項,看看命令欄里面有沒有病毒文件的路徑,有的就全部勾掉,確定。
??? 在右鍵點我的電腦,選管理。點服務和應用程序,點服務,在右邊的列表里面一個一個確定有沒有服務調用病毒,有就禁用掉。(什么?看不懂?那就點右鍵,屬性,進去看撒……)
??? 如果上面的方法不行的話,就去安全模式底下用吧,那些工具在安全模式下也可以用的。
??? OK,這樣,一般的病毒也就基本上搞定了。:D……
??? 對了,上面的方法只能保證病毒無法運行,但不一定能完整地刪除病毒,因為這種方法是基本通用的方法,不是針對各個病毒的特法,所以請大家見諒哦。
??? 另外上面的方法只能用于一般比較良性的病毒,如果病毒比較惡劣,比如感染exe文件,而不是在文件關聯上綁定,那就沒有辦法手殺,我說的不是沒有辦法用這個方法手殺,而是沒有辦法手殺。因為你要一個一個應用程序的去把病毒刪掉,要改程序的入口點,這會導致你可能要手動修改幾千個文件,假設一個文件你2分鐘就搞定了,而你一共要修改1000個文件,你也要33.33個小時才能搞定,不過如果你有興趣,可以去研究一下Windows PE文件的結構和分離文件的原理,你會了解很多的事情,比如為什么殺毒軟件會在殺毒的時候把一些應用程序刪爛,加殼和脫殼的原理,BindFile的原理還有那種不增加文件大小的FileBind的原理等等。
??? 好吧,說了是略談,結果說了這么多,說得很淺,但愿大家會喜歡,并且共同進步。
PS:
??? 如果沒有ProcXP的話,可以使用下面的方法,具體使用,自己研究一下吧,我就不說了。
??? 以下是轉Baidu知道的內容:
??? 打開資源管理器,找到控制面板→管理工具→服務,或許你能找到你想要KILL的進程。
??? 除了采用PROCXP之類工具外,也可用Windows 2000以上自帶幾個工具。
??? ntsd -c q -p PID
??? 在windows中,只有System、SMSS.EXE和CSRSS.EXE不能殺。前兩個是純內核態的,最后那個是Win32子系統,ntsd本身需要它。ntsd從2000開始就是系統自帶的用戶態調試工具。被調試器附著(attach)的進程會隨調試器一起退出,所以可以用來在命令行下終止進程。使用ntsd自動就獲得了debug權限,從而能殺掉大部分的進程。ntsd會新開一個調試窗口,本來在純命令行下無法控制,但如果只是簡單的命令,比如退出(q),用-c參數從命令行傳遞就行了。NtsdNtsd 按照慣例也向軟件開發人員提供。只有系統開發人員使用此命令。有關詳細信息,請參閱 NTSD 中所附的幫助文件。用法:開個cmd.exe窗口,輸入:
??? ntsd -c q -p PID
??? 還有就是tasklist、tskill或taskkill。tasklist能列出所有的進程,和相應的信息。tskill能查殺進程,語法很簡單:tskill 程序名
posted on 2006-11-26 18:57
Asp 閱讀(858)
評論(2) 編輯 收藏 引用 所屬分類:
Binary Life...