<address id="thnfp"></address>

    <address id="thnfp"><th id="thnfp"><progress id="thnfp"></progress></th></address>
    <listing id="thnfp"><nobr id="thnfp"><meter id="thnfp"></meter></nobr></listing>
    dvbbs
    收藏本頁
    聯系我們
    論壇幫助
    dvbbs

    >> 電腦專業知識交流
    搜一搜更多此類問題 
    安易免費財務軟件交流論壇專業知識交流電腦知識交流 → 反病毒教程(基礎篇)第3課

    您是本帖的第 681 個閱讀者
    樹形 打印
    標題:
    反病毒教程(基礎篇)第3課
    aimulin
    帥哥喲,離線,有人找我嗎?
    等級:論壇游俠
    文章:288
    積分:1356
    注冊:2006年9月22日
    樓主
      點擊這里發送電子郵件給aimulin

    發貼心情
    反病毒教程(基礎篇)第3課

    一.名詞解釋
    1.程序:具有獨立功能的一組指令或一組語句的集合,或者是指出處理器執行操作的步驟.是一個靜態的文本.

    2.進程:一個程序在一個數據集上的一次執行.它是一個動態的過程.每個進程都有一個唯一的進程標識符,簡稱為PID.

    3.作業:用戶要求計算機系統進行處理的一個計算問題.一個作業可能需要多個進程配合才能完成.如360安全衛士的進程有360Safe.exe,360tray.exe,可能還有safeboxTray.exe.

    4.線程:它是進程中可獨立執行的子任務,一個進程中可以有一個或多個線程,每個線程也都有一個唯一的標識符.

    5.父進程:可以創建其他進程的進程.比如,我們運行的大部分程序的父進程都是explorer.exe

    6.子進程:由父進程創建的進程.父進程和子進程是相對而言的,有的進程可能既是父進程又是子進程.

    *7.進程句柄:實際上是一個Long (整長型)的數據.它是windows用來標識應用程序所建立的進程的唯一整數,就像公民的身份證一樣.

    *8.指針:在C語言中可能會經常遇到,這里我們不講語言,我們這樣理解就行了:它是一種內存地址.內存地址和句柄一樣也是一個16位的整數.而句柄則是指針的指針.

    9.對象:系統中的一切都可稱為對象,如文件,進程,程序等.這好比生活中的所有東西都可以稱為物品一樣.

    二.深入了解進程
    1.進程到底是什么?
        進程為應用程序的運行實例,是應用程序的一次動態執行.它是操作系統當前運行的執行程序.當前運行的執行程序里包括:系統管理計算機個體和完成各種操作所必需的程序,你開啟,執行的額外程序,當然也包括你不知道,而自動運行的非法程序(如病毒等).
        進程是程序在計算機上的一次執行活動.當你運行一個程序,你就啟動了一個進程.顯然,程序是死的(靜態的),進程是活的(動態的).進程可以分為系統進程和用戶進程.凡是用于完成操作系統的各種功能的進程就是系統進程,病毒也常常把自己注冊成系統進程,用戶進程就是所有由你啟動的進程.進程是操作系統進行資源分配的單位,系統進程具有較高的優先權來得到資源.
       
    2.進程的特征.
    動態性:進程的實質是程序的一次執行過程,進程是動態產生,動態消亡的.
    并發性:任何進程都可以同其他進程一起并發執行
    獨立性:進程是一個能獨立運行的基本單位,同時也是系統分配資源和調度的獨立單位.
    異步性:由于進程間的相互制約,使進程具有執行的間斷性,即進程按各自獨立的,不可預知的速度向前推進.

    3.結構特征
    進程由程序,數據和進程控制塊三部分組成.

    *4.為什么會有句柄這一說?
        剛才上面說了,句柄是一種指向指針的指針.而所謂的指針是一種內存地址.應用程序啟動后,組成這個程序的各對象是住留在內存的.簡單地理解,似乎我們只要獲知這個內存的首地址就可以隨時用這個地址訪問對象(如進程).但是,如果你真的這樣認為,那么你就錯了.我們知道,Windows是一個以虛擬內存為基礎的操作系統.Windows內存管理器經常在內存中來回移動對象,以此來滿足各種應用程序的內存需要.對象被移動意味著它的地址變化了.如果地址總是如此變化,我們該到哪里去找該對象呢?(進程失控了?)
        為了解決這個問題,Windows操作系統為各應用程序騰出一些內存儲地址,用來專門登記各應用對象在內存中的地址變化,而這個地址(存儲單元的位置)本身是不變的.Windows內存管理器在移動對象在內存中的位置后,把對象新的地址告知這個句柄地址來保存.這樣我們只需記住這個句柄地址就可以間接地知道對象具體在內存中的哪個位置.這個地址是在對象裝載(Load)時由系統分配給的,當對象被撤消(Unload)時又釋放給系統。
        可能大家理解不了,舉個形象點的例子.一本書(可以理解為我們的操作系統),總是會有一個目錄頁(登記具體內容的頁碼),目錄頁的每一行就相當于一個句柄,每一行后面的頁碼就相當于一個指針.當正文內容需要調整時(如原來在第一章的,我現在要把它放到最后一章),那么當內容改動時,我們就要修改目錄頁中相應的頁碼(目錄頁本身是不動的,只是改了頁碼而已,對于系統來說就是修改了句柄所指向的內存地址的內容).

    *5,句柄的本質.
        windows程序并不是用物理地址來標識一個內存塊,文件,任務或進程的.系統給這些項目分配確定的句柄,并將其值返回給應用程序,然后通過句柄來對其進行操作.程序每次重新啟動,系統分配給這個程序的句柄通常是不一樣的.

    *6.線程到底是什么?
        線程是進程中的實體,一個進程可以擁有多個線程,一個線程必須有一個父進程.線程不擁有系統資源,只有運行必須的一些數據結構,它與父進程的其它線程共享該進程所擁有的全部資源.線程可以創建和撤消線程.從而實現程序的并發執行.比如,在一個程序中,我們創建一個線程讀寫磁盤,用另一個線程來處理用戶的其他請求.

    三.實踐

    1.查看你系統中有多少進程?
    打開任務管理器(按快捷鍵Ctrl+Alt+Del),切換到進程頁.在這里我們可以看到系統中所有的進程(隱藏的進程在這里看不到),映像名稱,有時也稱為進程名,這個名字一般就是相應程序的文件名.在左下角,你可以看到你系統中有多少進程了,比如我的,現在是27.


    我現在打開一個畫圖程序.

    現在是28個了,多了哪個?多了mspaint.exe,這個就是畫圖程序的進程.看看這個進程的詳細信息吧.點查看,選擇列...,在PID,CPU時間,內存使用,用戶名,虛擬內存大小等的前面打勾,確定.現在看到多了幾列了.

    映像名稱:即進程名,可能存在多個名字相同的進程名.
    PID:前面已經講過,這是唯一的,系統中不可能存在重復的PID.
    用戶名:是指這個程序是由誰啟動的或是用于說明其優先情況的.
    CPU時間:我們知道在單核系統中,CPU同時只能處理一件事(一個進程),但是為什么會有這么多進程同時運行呢?系統把CPU時間分成許多的時間片,每個進程每次可以使用一個由時間片規定的CPU時間.這樣,多個進程輪流使用CPU時間,如果某個進程在規定的時間內還沒有完成它的全部工作,這時也要把CPU讓給其他進程,等待下一輪再使用一個時間片的時間,循環輪轉,直到結束.由于CPU的執行速度非?,所以你看上去它們好像是在同時運行的. 當進程出現問題并且系統自身無法修正時,就可能出現CPU占用居高不下,甚至是100%,導致其他進程無法占用CPU時間,這時系統的反映就會很慢,很卡.這時可以把有問題的進程結束掉. 有些殺毒軟件的進程在掃描時也會占用較高,這是正,F象.
    內存:程序執行所占用的內存.一般程序通常不超過50M.游戲什么的可能占用會比較大.
    虛似內存,同上,但有些區別,這個值一般不超過150M,超過此值的就要注意一下了,當某個進程的虛擬內存占用很大時,同樣會導致系統很卡.結束這個進程則恢復正常.

    2,兩個擁有特殊PID的進程
    System Idle Process:這個進程的PID為0,虛擬內存占用為0,CPU很高,常常在90以上,事實上,它并不是真正的進程,這個稱為系統空閑進程,它的CPU值越高越好.該進程無法結束,沒有對應的文件.

    System:這個進程的PID為4,該進程不能結束,它也沒有對應的文件.并且沒有后綴名,如果你看到帶有后綴名的或是PID不是4的system,則這個進程很可能是病毒進程.如果你看到此進程正常,但CPU占用很高,則說明這個進程被注入了,大部分是木馬或病毒的行為,因為正常程序不會去搞它的.

    3.系統正常運行需要哪些進程?
    除了上面提到的兩個,其他還有幾個.下面按重要性來一個個說明.(下面講到路徑時,以系統盤為C盤為例),進程名不區分大小寫.認識這些進程,對你使用系統和維護系統安全都有著非常重要的作用!如果嫌我講得啰嗦,你大可以百度一下相關進程名查找更啰嗦的.

    smss.exe :這是系統中有對應文件的第一個真正進程.文件位于c:\windows\system32\smss.exe,這是一個會話管理子系統,負責啟動用戶會話,系統所有進程的初始化工作都由它來完成,當某些進程出現不可預知的重大錯誤時,該進程負責調節,無法調節時,系統將停止響應.

    winlogon.exe :管理用戶登陸,注銷等.該進程是由父進程smss.exe創建的,正常路徑c:\windows\system32\winlogon.exe,屏幕保護程序的啟動等也是由它來管理的.以system用戶來運行.

    csrss.exe : 管理系統圖形相關子系統.也是由smss.exe創建的,正常路徑c:\windows\system32\csrss.exe

    lsass.exe :該進程是多個Windows系統服務的宿主,由winlogon.exe創建,它控制一些服務的啟動與關閉,與services.exe具有同等重要的作用.它們分管系統中所有的服務.lsass.exe管理的服務包括HTTP SSL,IPSEC Services,Kerberos Key Distribution Center,Net Logon,NT LM Security Support Provider,Protected Storage,Security Accounts Manager.正常情況下,它開啟了多個服務,一般至少有Protected Storage和Security Accounts Manager兩項,如果沒有開啟這些服務,此進程可以被關閉.

    services.exe :和上面的一樣,也是由winlogon.exe創建的,除上面七個服務外,其他所有服務全部由該進程來管理.關于服務相關的內容,以后會專門用一個課時來詳細說明,現在只要了解就行了.路徑c:\windows\system32\services.exe

    svchost.exe :標準的動態連接庫主機處理服務.由services.exe創建,該進程在啟動的時候會檢查注冊表中相應位置來決定需要加載的服務.系統中常常會存在很多個svchost.exe進程,因為不同的服務可能要不同的svchost.exe進程來啟動.有的svchost.exe進程只啟動了一個服務,而有的可能啟動了好幾個服務.所以系統中存在3~7個同樣的這個進程并不奇怪.路徑c:\windows\system32\svchost.exe.部分這個進程可以被結束的,結束后的結果可能會很奇怪,比如復制粘貼功能沒有了...

    alg.exe :即Application Layer Gateway Service,應用程序網關服務,為Internet連接共享和Windows防火墻提供第三方協議插件的支持.

    4.哪些進程可以結束?
        除了上面說到的,其他的都可以結束,剛剛的截圖,我系統的進程數20多個,有些人的可能有30多個甚至更多.下面我就先來優化一下吧.結果如圖:

        其實還可以精減掉幾個svchost.exe的,重新開啟需要以服務形式啟動,嫌麻煩就不結束了...還有一個原因是任務管理器提供的信息太少,不知道哪個svchost.exe啟動了哪些服務,盲目結束總不是很好.最壞的情況是系統30秒倒計時重啟或關機.如何解決倒計時關機?
    很簡單,按快捷鍵Win+R,然后輸入shutdown -a確定即可.

        對于殺毒軟件的進程,可能你無法用任務管理器來結束,你可以直接關閉殺毒軟件.其他無法關閉的進程還有很多,比如病毒進程,服務進程等.無法結束的進程可以使用第三方工具來結束,比如冰刃(IceSword).實踐完畢后別忘了重新開啟你的殺毒軟件的監控.
        另一個特殊的進程:explorer.exe,這個進程是可以被結束的,結束后桌面消失,別害怕,重新啟動這個進程就行了,在任務管理器中點文件,新建任務,輸入explorer.exe后確定即可.
        還有一個進程是taskmgr.exe,這個進程是任務管理器的進程,你結束它試一下,任務管理器關閉了,呵.

    5.用好任務管理器
    結束進程,當前選中進程將被結束.
    結束進程,當前選中進程及所有由該進程創建的子進程全部被結束
    切換到應用程序頁,選中某個任務,右鍵選擇:
    切換至,則該任務的窗口將位于最上面,并且成為激活狀態
    前置,和切換至很類似,但不一定是激活狀態的.
    最大化,最小化,這兩個不用我說了吧.
    結束任務,關閉相應的任務.
    轉到進程,該任務對應的是哪個進程一看便知.
    在任務管理器四周空白處雙擊一下試試.再次雙擊可變回原樣.
    在應用程序頁雙擊將最小化任務管理器.

    ip地址已設置保密
    2009/5/26 19:45:54
    LZQ
    帥哥喲,離線,有人找我嗎?
    等級:火箭俠
    文章:2009
    積分:10052
    注冊:2006年9月23日
    2
      點擊這里發送電子郵件給LZQ

    發貼心情
    不錯

    溫故知新
    ip地址已設置保密
    2009/6/6 14:30:46

     2   2   1/1頁      1    
    網上貿易 創造奇跡! 阿里巴巴 Alibaba
    北京安易天地軟件有限公司北方論壇
    聯系電話:010-51268244 13611231185 QQ:511102924
    Powered By Dvbbs Version 7.1.0 Sp1
    頁面執行時間 01.59766 秒, 5 次數據查詢
    Channel