檔案型電腦病毒介紹

  要了解檔案型病毒的原理,首先要了解檔案的結構.COM 檔案比較簡單, 病毒要感染COM檔案有兩種方法,一種是將病毒加在COM前部,一種是加在檔案尾部,下面由小編給你做出詳細的!希望對你有幫助!見下圖:

  :

  A B

  -------- ---------------

  |-病毒 | |JMP ***原檔案的前3位元組被修改***

  -------- ---------------

  |原檔案| ├ 原程式 ┤

  -------- --------------

  ├ 病毒 ┤

  --------------

  EXE 檔案比較複雜,每個EXE檔案都有一個檔案頭,結構如下:

  EXE檔案頭資訊

  -------------------------------------

  ├偏移量┤ 意義 ┤

  ├00h-01h ┤MZ'EXE檔案標記 ┤

  ├2h-03h ┤檔案長度除512的餘數 ┤

  ├04h-05h ┤...............商 ┤

  ├06h-07h ┤重定位項的個數 ┤

  ├08h-09h ┤檔案頭除16的商 ┤

  ├0ah-0bh ┤程式執行所需最小段 數 ┤

  ├0ch-0dh ┤..............大..... ┤

  ├oeh-0fh ┤堆疊段的段值 ***SS*** ┤

  ├10h-11h ┤........sp ┤

  ├12h-13h ┤檔案校驗和 ┤

  ├14h-15h ┤IP ┤

  ├16h-17h ┤CS ┤

  ├18h-19h ┤............ ┤

  ├1ah-1bh ┤............ ┤

  ├1ch ┤............ ┤

  ------------------------------------

  當DOS載入EXE檔案時,根據檔案頭資訊,調入一定長度的檔案,設定SS,SP 從CS:IP 開始執行.病毒一般將自己加在檔案的末端,並修改CS,IP的值指向病毒起始地址,並修改檔案長度資訊和SS,SP。

  基本原理:

  當被感染程式執行之後,病毒會立刻******點被改成病毒程式碼***或者在隨後的某個時間***"無***點病毒"***獲得控制權,獲得控制權後,病毒通常會進行下面的操作***某個具體的病毒不一定進行了所有這些操作,操作的順序也很可能不一樣***:

  · 記憶體駐留的病毒首先檢查系統可用記憶體,檢視記憶體中是否已經有病毒程式碼存在,如果沒有將病毒程式碼裝入記憶體中。非記憶體駐留病毒會在這個時候進行感染,查詢當前目錄、根目錄或者環境變數PATH中包含的目錄,發現可以被感染的可執行檔案就進行感染。

  環境變數:首先在DOS作業系統下出現,是由作業系統儲存,對所有程式都一樣的一些定義的值,比如說環境變數PATH是執行程式時搜尋的路徑列表,環境變數PROMPT是執行DOS命令時的提示資訊。在視窗作業系統下也有環境變數,但是除了搜尋路徑以外的視窗作業系統的環境變數基本上在DOS框裡面才會用到。

  · 執行病毒的一些其他功能,比如說破壞功能,顯示資訊或者病毒精心製作的動畫等等,對於駐留記憶體的病毒來說,執行這些功能的時間可以是開始執行的時候,也可以是滿足某個條件的時候,比如說定時或者當天的日期是13號恰好又是星期五等等。為了實現這種定時的發作,病毒往往會修改系統的時鐘中斷,以便在合適的時候啟用。

  · 完成這些工作之後,將控制權交回被感染的程式。為了保證原來程式的正確執行,寄生病毒在執行被感染程式的之前,會把原來的程式還原,伴隨病毒會直接呼叫原來的程式,覆蓋病毒和其他一些破壞性感染的病毒會把控制權交回DOS作業系統。

  · 對於記憶體駐留病毒來說,駐留時會把一些DOS或者基本輸入輸出系統***BIOS***的中斷指向病毒程式碼,比如說INT13H或者INT 21H,這樣系統執行正常的檔案/磁碟操作的時候,就會呼叫病毒駐留在記憶體中的程式碼,進行進一步的破壞或者感染。