檔案型電腦病毒分類介紹

  檔案型病毒分類是怎樣分的呢!種類太多!你會嗎,下面由小編給你做出詳細的!希望對你有幫助!

  :

  檔案型電腦病毒:寄生病毒

  這類病毒在感染的時候,將病毒程式碼加入正常程式之中,原來程式的功能部分或者全部被保留。根據病毒程式碼加入的方式不同,寄生病毒可以分為"頭寄生"、"尾寄生"、"中間插入"和"空洞利用"四種:

  檔案型電腦病毒:"頭寄生":

  實現將病毒程式碼放到程式的頭上有兩種方法,一種是將原來程式的前面一部分拷貝到程式的最後,然後將檔案頭用病毒程式碼覆蓋;另外一種是生成一個新的檔案,首先在頭的位置寫上病毒程式碼,然後將原來的可執行檔案放在病毒程式碼的後面,再用新的檔案替換原來的檔案從而完成感染。使用"頭寄生"方式的病毒基本上感染的是批處理病毒和COM格式的檔案,因為這些檔案在執行的時候不需要重新定位,所以可以任意調換程式碼的位置而不發生錯誤。

  當然,隨著病毒製作水平的提高,很多感染DOS下的EXE檔案和視窗系統的EXE檔案的病毒也是用了頭寄生的方式,為使得被感染的檔案仍然能夠正常執行,病毒在執行原來程式之前會還原出原來沒有感染過的檔案用來正常執行,執行完畢之後再進行一次感染,保證硬碟上的檔案處於感染狀態,而執行的檔案又是一切正常的。

  檔案型電腦病毒:"尾寄生":

  由於在頭部寄生不可避免的會遇到重新定位的問題,所以最簡單也是最常用的寄生方法就是直接將病毒程式碼附加到可執行程式的尾部。對於DOS環境下COM可執行檔案來說,由於COM檔案就是簡單的二進位制程式碼,沒有任何結構資訊,所以可以直接將病毒程式碼附加到程式的尾部,然後改動COM檔案開始的3個位元組為跳轉指令:

  檔案型電腦病毒:JMP [病毒程式碼開始地址]

  對於DOS環境下的EXE檔案,有兩種處理的方法,一種是將EXE格式轉換成COM格式再進行感染,另外一種需要修改EXE檔案的檔案頭,一般會修改EXE檔案頭的下面幾個部分:

  程式碼的開始地址

  可執行檔案的長度

  檔案的CRC校驗值

  堆疊暫存器的指標也可能被修改。

  對於視窗作業系統下的EXE檔案,病毒感染後同樣需要修改檔案的頭,這次修改的是PE或者NE的頭,相對於DOS下EXE檔案的頭來說,這項工作要複雜很多,需要修改程式***地址、段的開始地址、段的屬性等等,由於這項工作的複雜性,所以很多病毒在編寫感染程式碼的時候會包括一些小錯誤,造成這些病毒在感染一些檔案的時候會出錯無法繼續,從而幸運的造成這些病毒無法大規模的流行。

  感染DOS環境下裝置驅動程式***.SYS檔案***的病毒會在DOS啟動之後立刻進入系統,而且對於隨後載入的任何軟體***包括防毒軟體***來說,所有的檔案操作***包括可能的查病毒和殺病毒操作***都在病毒的監控之下,在這種情況下乾淨的清除病毒基本上是不可能的。

  檔案型電腦病毒:"插入寄生":

  病毒將自己插入被感染的程式中,可以整段的插入,也可以分成很多段,有的病毒通過壓縮原來的程式碼的方法,保持被感染檔案的大小不變。前面論述的更改檔案頭等基本操作同樣需要,對於中間插入來說,要求程式的編寫更加嚴謹,

  所以採用這種方式的病毒相對比較少,即使採用了這種方式,很多病毒也由於程式編寫上的錯誤沒有真正流行起來。

    檔案型電腦病毒:"空洞利用":

  對於視窗環境下的可執行檔案,還有一種更加巧妙的方法,由於視窗程式的結構非常複雜,一般裡面都會有很多沒有使用的部分,一般是空的段,或者每個段的最後部分。病毒尋找這些沒有使用的部分,然後將病毒程式碼分散到其中,這樣就實現了神不知鬼不覺的感染***著名的"CIH"病毒就是用了這種方法***。

  寄生病毒精確的實現了病毒的定義,"寄生在宿主程式的之上,並且不破壞宿主程式的正常功能",所以寄生病毒設計的初衷都希望能夠完整的儲存原來程式的所有內容,因此除了某些由於程式設計失誤造成原來的程式不能恢復的病毒以外,寄生型病毒基本上都是可以安全清除的。

  除了改變檔案頭、將自己插入被感染程式中以外,寄生病毒還會採用一些方法來隱藏自己:如果被感染檔案是隻讀檔案,病毒在感染時首先改變檔案的屬性為可讀寫,然後進行感染,感染完畢之後再把屬性改回只讀,病毒在感染時往往還會記錄檔案最後一次訪問的日期,感染完畢之後再改回原來的日期,這樣使用者就不會通過日期的變化覺察到檔案已經被修改過了。

  根據病毒感染後,被感染檔案的資訊是不是有丟失,我們把病毒感染分成兩種最基本的型別,破壞性感染和非破壞性感染,對於非破壞性感染的檔案,只要防毒軟體清楚的掌握了病毒感染的基本原理,準確的進行還原是可能的,在這種情況下,我們稱這個病毒是可清除的。而對於破壞性感染,由於病毒刪除或者覆蓋了原來檔案的全部/部分內容,所以這種病毒是不能清除的,只能刪除感染檔案,或者用沒有被感染的原始檔案覆蓋被感染的檔案。

  DOS環境下的COM和EXE檔案具有完全不同的結構,所以病毒感染的方法也完全不一樣,有的病毒根據檔案字尾名來判斷感染的是COM還是EXE檔案,而另外一種更加準確的方法是比較檔案頭,看看是不是符合EXE檔案的定義。根據檔案字尾名來進行感染經常會造成錯誤,一個最典型的例子是視窗95系統目錄下的檔案,字尾名顯示它是一個COM檔案,但是這個大小超過90K的檔案實際上是一個EXE檔案。那些根據檔案字尾名進行感染的病毒一旦感染這個檔案就會造成檔案的損壞,這也是很多使用者發現自己在視窗下無法開啟DOS框的原因。