萬盛學電腦網

 萬盛學電腦網 >> 健康知識 >> 知己知彼 了解各類病毒的磁盤存儲結構

知己知彼 了解各類病毒的磁盤存儲結構

  對於計算機病毒的存儲結構來說,不同類型的病毒,在磁盤上的存儲結構是不同的。   1.磁盤空間的總體劃分經過格式化後的磁盤包括:主引導記錄區(只有硬盤有)、引導記錄區、文件分配表(FAT)、目錄區和數據區。主引導記錄區和引導記錄區中存有DOS系統啟動時所用的信息。   文件分配表(FAT)是反映當前磁盤扇區使用狀況的表。每張DOS盤含有兩個完全相同的FAT表,即FAT1和FAT2,FAT2是一張備份表。FAT與目錄一起對磁盤數據區進行管理。目錄區存放磁盤上現有的文件目錄及其大孝存放時間等信息。數據區存儲和文件名相對應的文件內容數據。   (1)軟盤空間的總體劃分當使用DOS的外部命令FORMAT格式化一張軟盤後,不僅把磁盤劃分為若干磁道,每一磁道劃分為若干扇區,而且同時把劃分的扇區分為五大區域,它們分別是引導記錄區、文件分配表1、文件分配表2、根目錄區以及數據區。   對於軟盤只有一個引導區,引導區在磁盤的0面0道1扇區,它的作用是在系統啟動時負責把系統兩個隱含文件IO.SYS和MSDOS.SYS裝入內存,並提供DOS進行磁盤讀寫所必需的磁盤I/O參數表。文件分配表(FAT表)是反映磁盤上所有文件各自占用的扇區的一個登記表,此表非常重要,一旦被破壞,將無法查找文件的內容。即使對DOS內部精通的人,要修復FAT表損壞的磁盤文件,亦非易事,開銷很大。為此系統在劃分磁盤區域時,保留了兩份完全相同的文件分配表。根目錄區是記載磁盤上所有文件的一張目錄登記表。主要記載每個文件的文件名、擴展名、文件屬性、文件長度、文件建立日期、建立時間以及其他一些重要信息。   (2)硬盤空間的總體劃分對於不同類型、不同介質的磁盤,DOS劃分磁盤的格式是不同的。對於硬盤來說,由於其存儲空間比較大,為了允許多個操作系統分享硬盤空間,並希望能從磁盤啟動系統,DOS在格式化硬盤時,把硬盤劃分為主引導記錄區和多個系統分區。   對於硬盤空間的分配由兩個部分組成:第一部分就是整個硬盤的第一扇區,這一扇區稱之為硬盤的主引導程序扇區,它由兩部分內容組成,一是主引導程序,二是分區信息表。主引導程序是硬盤啟動時首先執行的程序,由它裝入執行活動分區(活動分區)引導程序,從而進一步引導系統。分區信息表登記各個分區引導指示符、操作系統指示符以及該分區占用硬盤空間的位置及其長度;第二部分是各個系統分區。各個系統分區是提供給各操作系統使用的區域,每一區域只能存放一種操作系統,在該區域中的系統具有自己的引導記錄、文件分配表區、文件目錄區以及數據區。若整個硬盤歸DOS使用,硬盤上信息由5部分即第1扇區的主引導程序和分區信息表、分區引導程序、文件分配表區、文件根目錄區、文件數據區。   硬盤主引導扇區很特殊,它不在DOS的管轄范圍內。所以用DOS的非常駐命令FORMAT、FDISK、DEBUG都不能觸及它。當該扇區損壞時,硬盤不能啟動。用FORMAT、FDISK都不能修復它。DEBUG的L命令和W命令都不能用於主引導扇區。只有在DEBUG下借用INT13H或低級格式化方能修復。   2.系統型病毒的磁盤存儲結構   系統型病毒是指專門傳染操作系統的啟動扇區,,主要指傳染硬盤主引導扇區和DOS引導扇區的病毒。系統型病毒在磁盤上的存儲結構是這樣的,病毒程序被劃分為兩部分,第一部分存放在磁盤引導扇區中,第二部分則存放在磁盤其他的扇區中。病毒程序在感染一個磁盤時,首先根據FAT表在磁盤上找到一個空白簇(如果病毒程序的第二部分占用若干個簇,則需要找到一個連續的空白簇),然後將病毒程序的第二部分以及磁盤原引導扇區的內容寫入該空白簇,接著將病毒程序的第一部分寫入磁盤引導扇區。   但是,由於磁盤不同,病毒程序第二部分所占用的空白簇的位置就不同,而病毒程序在侵入系統時,又必須將其全部程序裝入內存,在系統啟動時道德裝入的是磁盤引導扇區中的病毒程序,該段程序在執行時要將其第二部分裝入內存,這樣第一部分必須知道其第二部分所在簇的簇號或邏輯扇區號。為此,在病毒程序感染一個磁盤時,不僅要將其第一部分寫入磁盤引導扇區,而且必須將病毒程序第二部分所在簇的簇號(或該簇第一扇區的邏輯扇區號)記錄在磁盤的偏移地址01F9處,存放其第二部分所在簇第一扇區的邏輯扇區號。   另外,由於DOS分配磁盤空間時,必須將分配的每一簇與一個文件相聯系,但是,系統型病毒程序第二部分所占用的簇沒有對應的文件名,它們是以直接磁盤讀寫的方式被存取的,這樣它們所占用的簇就有可能被DOS分配給新建立的磁盤文件,從而被覆蓋。為了避免這樣的情況發生,病毒程序在將其第二部分寫入空白簇後,立即將這些簇在FAT中登記項的內容,強制地標記為壞簇(FF7H),經過這樣處理後,DOS就不會將這些簇分配給其他新建立的文件。   3.文件型病毒的磁盤存儲結構文件型病毒是指專門感染系統中的可執行文件,即擴展名為.COM、.EXE的文件。   對於文件型的病毒來說,病毒程序附著在被感染文件的首部、尾部、中部或“空閒”部位,病毒程序沒有獨立占用磁盤上的空白簇。也就是說,病毒程序所占用的磁盤空間依賴於其宿主程序所占用的磁盤空間。但是,病毒入侵後一定會使宿主程序占用的磁盤空間增加。   絕大多數文件型病毒屬於所謂外殼病毒,什麼是文件外殼呢?簡單地說是計算機軟件的一種層次結構。比方說計算機軟件公司編制了一種教育軟件,經過設計調試,軟件本身的功能已經很完善,可以作為獨立的磁盤文件提供給用戶。但為了提高產品的商品化程序,公司決定為軟件加一個漂亮的封面,為此設計人員可以在已經完成的軟件基礎上附加一段顯示封面的程序。通常我們稱軟件本身為內核,而附加的顯示封面程序稱為外殼,加載運行關系。   盡管在結構上外殼接在內核後面,但運行的順序仍然是先顯示封面再跳轉去執行內核。可執行文件的外殼一般具有相對獨立的功能和結構,去掉外殼將不會影響內核部分的運行。如果我們用“病毒外殼”去替換圖中的“封面外殼”,那麼就已經說明了文件型病毒的基本機理。計算機病毒一般不傳染數據文件,這是由於數據文件是不能執行的,如果病毒傳染了數據文件以後,病毒自身得不到執行權,也就不能進行進一步的傳播,所以計算機病毒不可能存在於數據文件中,但可能修改和破壞數據文件。
copyright © 萬盛學電腦網 all rights reserved