計(jì)算機(jī)病毒的相關(guān)DOS基本系統(tǒng)知識(shí)硬盤(pán)結(jié)構(gòu)及數(shù)據(jù)組織_第1頁(yè)
計(jì)算機(jī)病毒的相關(guān)DOS基本系統(tǒng)知識(shí)硬盤(pán)結(jié)構(gòu)及數(shù)據(jù)組織_第2頁(yè)
計(jì)算機(jī)病毒的相關(guān)DOS基本系統(tǒng)知識(shí)硬盤(pán)結(jié)構(gòu)及數(shù)據(jù)組織_第3頁(yè)
計(jì)算機(jī)病毒的相關(guān)DOS基本系統(tǒng)知識(shí)硬盤(pán)結(jié)構(gòu)及數(shù)據(jù)組織_第4頁(yè)
計(jì)算機(jī)病毒的相關(guān)DOS基本系統(tǒng)知識(shí)硬盤(pán)結(jié)構(gòu)及數(shù)據(jù)組織_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

計(jì)算機(jī)病毒的相關(guān)DOS根本系統(tǒng)學(xué)問(wèn)---硬盤(pán)構(gòu)造及數(shù)據(jù)組織(1)硬盤(pán)的構(gòu)造硬盤(pán)和軟盤(pán)一樣,都是個(gè)人計(jì)算機(jī)常用的外存儲(chǔ)器,但硬盤(pán)比軟盤(pán)容量大,速度快。硬盤(pán)由多個(gè)盤(pán)片組成,PC的硬盤(pán)一般由2~14個(gè)盤(pán)片組成。以兩個(gè)盤(pán)片為例,它有4個(gè)磁頭,編號(hào)為0~3,4個(gè)磁頭對(duì)應(yīng)的4個(gè)面為0~3面。硬盤(pán)的磁盤(pán)外表也以轉(zhuǎn)軸中心為圓心,被勻整地劃分為假設(shè)干個(gè)半徑不等的同心圓,叫做磁道。不同面上的一樣直徑的磁道,在垂直方向構(gòu)成的圓筒,叫做柱面。自不待言,柱面數(shù)等于磁道數(shù)。10MB的硬盤(pán)共有306個(gè)柱面,編號(hào)由外向里為0柱面到305柱面;20MB的硬盤(pán)有614個(gè)柱面,編號(hào)為0~613。1個(gè)面上每個(gè)磁道有17個(gè)扇區(qū),每個(gè)扇區(qū)(無(wú)論弧長(zhǎng)的大小)都存儲(chǔ)512個(gè)字節(jié),所以,對(duì)于10MB硬盤(pán),全部字節(jié)數(shù)為:7512×17有17個(gè)系統(tǒng)隱藏扇區(qū),DOS分區(qū)從1面0柱l扇區(qū)開(kāi)始。由此可見(jiàn),硬盤(pán)的邏輯扇區(qū)及物理扇區(qū)的對(duì)應(yīng)關(guān)系因DOS版本的不同而不同。(2)硬盤(pán)的數(shù)據(jù)組織硬盤(pán)系統(tǒng)可以劃分為幾個(gè)分區(qū),用以支持DOS以外的操作系統(tǒng)。DOS3.2版本以下的系統(tǒng),硬盤(pán)最多可分為4個(gè)分區(qū)。每個(gè)分區(qū)可以具有不同大小的存儲(chǔ)空間,但每個(gè)分區(qū)支配的存儲(chǔ)空間是連續(xù)的,因此在(3)主引導(dǎo)扇區(qū)主引導(dǎo)扇區(qū)位于硬盤(pán)0面0柱1扇區(qū),它是硬盤(pán)上的第一物理扇區(qū)。它由主引導(dǎo)程序(位移量000~1BDH)和分區(qū)表(PartitionTable,位移量1BE~1FDH)兩部分組成,最終兩個(gè)字節(jié)(位移量1FE~1FFH)“55AA〞為主引導(dǎo)區(qū)完畢標(biāo)記。主引導(dǎo)程序用于硬盤(pán)啟動(dòng)時(shí)將系統(tǒng)限制轉(zhuǎn)給用戶指定的并在分區(qū)中登記了的某個(gè)操作系統(tǒng)區(qū);分區(qū)表用于指明硬盤(pán)劃分狀況,含4個(gè)可能的分區(qū),每個(gè)分區(qū)的記錄占用16個(gè)字節(jié),由FDISK程序建立。主引導(dǎo)扇區(qū)中存放著硬盤(pán)的主引導(dǎo)記錄。硬磁盤(pán)的主引導(dǎo)記錄包括3個(gè)方面的內(nèi)容:①主引導(dǎo)程序代碼主引導(dǎo)程序用來(lái)找出系統(tǒng)當(dāng)前的活動(dòng)分區(qū),負(fù)責(zé)把對(duì)應(yīng)的一個(gè)操作系統(tǒng)的引導(dǎo)記錄(當(dāng)前活動(dòng)分區(qū)的引導(dǎo)記錄)裝入內(nèi)存,然后把限制權(quán)轉(zhuǎn)給該分區(qū)的引導(dǎo)記錄。②分區(qū)表主引導(dǎo)扇區(qū)的分區(qū)表存放在主引導(dǎo)記錄的后第0個(gè)字節(jié)是自檢標(biāo)記,該值為80H時(shí),表示該分區(qū)是當(dāng)前活動(dòng)分區(qū),可引導(dǎo);當(dāng)值為00H,表示該分區(qū)不行引導(dǎo)。第4字節(jié)是DOS系統(tǒng)標(biāo)記,其值為00H時(shí)表示不是DOS分區(qū);值為01H時(shí),表示該分區(qū)是DOS分區(qū),運(yùn)用12位文件支配表;值為04H或其他值(但不能是00H,假設(shè)將此字節(jié)置為00H,可到達(dá)加密硬盤(pán)的效果)時(shí)表示是DOS分區(qū),并承受16位或32位文件支配表。分區(qū)表的第1~3字節(jié)是該分區(qū)的起始地址,其中第1字節(jié)為起始磁頭號(hào)(面號(hào)),第2字節(jié)的低6位為扇區(qū)號(hào),第2字節(jié)的高2位是柱面號(hào)的高2位,第3字節(jié)指出柱面號(hào)的低8位,因此,柱面號(hào)是用10位二進(jìn)制數(shù)表示的。分區(qū)表的第5~7字節(jié)表示該分區(qū)的終止地址,其意義及第1~3字節(jié)一樣。第8~11字節(jié)表示該分區(qū)的起始邏輯扇區(qū)號(hào),第12~15字節(jié)表示該分區(qū)的實(shí)際扇區(qū)數(shù)。僅有一個(gè)DOS分區(qū)(0面0柱2扇區(qū)~3面98柱14③主引導(dǎo)記錄完畢標(biāo)記當(dāng)主引導(dǎo)記錄完畢標(biāo)記為AA55H時(shí),表示該主引導(dǎo)記錄是一個(gè)有效的記錄,它可用來(lái)引導(dǎo)硬盤(pán)系統(tǒng)。硬盤(pán)的主引導(dǎo)記錄扇區(qū),即0面0柱l扇區(qū),是一個(gè)系統(tǒng)的隱含扇區(qū)。它排在邏輯0扇區(qū)之外,因此不能運(yùn)用系統(tǒng)中斷INT25H和INT26H對(duì)它進(jìn)展讀寫(xiě)操作,也不能運(yùn)用工具軟件DEBUG、PCTOOLS讀寫(xiě)它,只有運(yùn)用中斷INT13H才能訪問(wèn)該隱含扇區(qū)。某些病毒程序(如Stone病毒),就是利用硬盤(pán)主引導(dǎo)扇區(qū)的隱含性來(lái)疼惜自己的。由于主引導(dǎo)扇區(qū)中包含有DOS分區(qū)表(從1BEH到1FFH),而該分區(qū)表是不能不存在的,所以,隱藏在主引導(dǎo)扇區(qū)中的病毒程序最長(zhǎng)也不能超過(guò)1BEH,即不超過(guò)446B。如前所述,不同的DOS版本下,硬盤(pán)的隱含扇區(qū)數(shù)目是不同的:DOS3.0以下版本只有1個(gè)隱含扇區(qū),而DOS3.0及以上版本有17個(gè)隱含扇區(qū),DOS通制造廠家標(biāo)記和DOS版本號(hào)(8字節(jié));磁盤(pán)根本I/O參數(shù)塊(BPB,19字節(jié))和磁盤(pán)基數(shù)表(11字節(jié));引導(dǎo)程序(482字節(jié))。同樣,硬盤(pán)的BPB表,記錄了有關(guān)磁盤(pán)的重要信息,如每扇區(qū)字節(jié)數(shù)、每簇扇區(qū)數(shù)、文件表個(gè)數(shù)、磁盤(pán)介質(zhì)說(shuō)明等等。而磁盤(pán)基數(shù)表則將每道扇區(qū)數(shù)、每扇區(qū)字節(jié)數(shù)、扇區(qū)間隔字節(jié)數(shù)、磁頭加載卸載時(shí)間等信息供給應(yīng)磁盤(pán)驅(qū)動(dòng)程序。有關(guān)參數(shù)表的含義和磁盤(pán)介質(zhì)說(shuō)明符請(qǐng)分別參看表2.1、表2.2。其中的隱含扇區(qū)數(shù)一般用于硬盤(pán)分區(qū)(所以在軟盤(pán)中該值為0),在硬盤(pán)分區(qū)中,它表示磁盤(pán)起始扇區(qū)到當(dāng)前分區(qū)之前的總扇區(qū)數(shù),如表2.6所示:硬盤(pán)的每一個(gè)分區(qū)都是獨(dú)立的“邏輯驅(qū)動(dòng)器〞,DOS將每個(gè)分區(qū)都視為一個(gè)從0開(kāi)始的連續(xù)扇區(qū)塊,每個(gè)分區(qū)的隱含扇區(qū)數(shù)取決于該分區(qū)以前的總扇區(qū)數(shù)。一般說(shuō)來(lái),硬盤(pán)的第1分區(qū)的隱含數(shù)取決于硬盤(pán)0面0柱的扇區(qū)數(shù),即將0面0柱一個(gè)磁道的扇區(qū)作為隱含扇區(qū)。(5)文件支配表文件支配表(FAT)存放著磁盤(pán)上以簇為單位的存儲(chǔ)空間的運(yùn)用狀況,是DOS文件管理系統(tǒng)用來(lái)記錄每個(gè)文件的存儲(chǔ)位置的表格,它以鏈接的方式存放簇號(hào)。由于它的重要性,一般硬盤(pán)上均有兩個(gè)完全一樣的文件支配表:一個(gè)是根本表,另一個(gè)為根本表備份,兩個(gè)表的長(zhǎng)度一樣,內(nèi)容一樣。每個(gè)FAT所占用的扇區(qū)數(shù)取決于DOS版本、分區(qū)大小、FAT表項(xiàng)的長(zhǎng)度等因素,其詳細(xì)所占扇區(qū)數(shù)即BPB偏移16H處的值。磁盤(pán)格式化后,用戶文件是以簇為單位存放在數(shù)據(jù)區(qū)中的,一個(gè)文件至少占用一個(gè)簇。當(dāng)一個(gè)文件占用多個(gè)簇時(shí),該簇就不能運(yùn)用。簇號(hào)的長(zhǎng)度由簇的多少確定,進(jìn)而確定了FAT中表項(xiàng)的位數(shù),如今FAT的位數(shù)有12位、16位和32位3種。FAT表項(xiàng)值是占12位、16位還是32位,及操作系統(tǒng)版本及所用磁盤(pán)的容量有關(guān),12位表項(xiàng)值可表示4096個(gè)簇,如磁盤(pán)的簇?cái)?shù)大于4096,則必需用16位或32位表項(xiàng)值(一般說(shuō)來(lái),小于10MB的硬盤(pán)或軟盤(pán)的DOS分區(qū)用12位映射一個(gè)簇),16位的FAT表項(xiàng)最多可表示65536個(gè)簇。一般每簇不多于64個(gè)扇區(qū)(32kB),這樣,承受16位FAT的系統(tǒng)最多能管理32×65536kB=2097152kB=2048MB=2GB的磁盤(pán)。對(duì)于容量超過(guò)2GB的大容量硬盤(pán)假設(shè)承受16位FAT,必需將其劃分成不超過(guò)2GB的邏輯盤(pán)。我們知道,在硬盤(pán)的主引導(dǎo)扇區(qū)的分區(qū)表中,只有4個(gè)分區(qū)表項(xiàng),所以,16位FAT硬盤(pán)的極限容量是8GB。而在FAT32形式下,32位表項(xiàng)值最多可以表示4294967296(232)個(gè)簇,盡管每個(gè)簇只有4kB大小,但卻可以管理4×DOS是以簇為單位給文件支配磁盤(pán)空間的,每個(gè)簇在FAT表中占有一個(gè)登記項(xiàng),所以,在FAT表中,簇編號(hào)也是登記項(xiàng)的編號(hào)。每個(gè)登記項(xiàng)作為一個(gè)簇的標(biāo)記信息占用1.5、2或4個(gè)字節(jié)(分別對(duì)應(yīng)于FAT12、FAT16、FAT32),該標(biāo)記信息可取的表項(xiàng)值及其含義見(jiàn)表2.7。XXXH為隨意十六進(jìn)制數(shù)值,表示占用該簇的文件內(nèi)容鏈接的下一個(gè)簇的簇號(hào)。文件占用的第一個(gè)簇號(hào)(文件首簇)存放在該磁盤(pán)的文件書(shū)目表中該文件的書(shū)目登記項(xiàng)中的第26、27字節(jié),由首簇開(kāi)始,形成一個(gè)文件占有磁盤(pán)的簇鏈。對(duì)于以2字節(jié)為單位的FAT,每一項(xiàng)的內(nèi)容是按低字節(jié)在前,高字節(jié)在后的規(guī)律存放的,如圖2.2(A);以1.5字節(jié)為單位的FAT,則按圖2.2(B)所示的穿插規(guī)律存放。磁盤(pán)上有多少簇,文件支配表上就應(yīng)當(dāng)有對(duì)應(yīng)的多少項(xiàng),每個(gè)表項(xiàng)表示一個(gè)簇的運(yùn)用狀況。這個(gè)表的構(gòu)造很簡(jiǎn)潔磁盤(pán)壞簇一般是在磁盤(pán)格式化時(shí)覺(jué)察缺陷而被檢測(cè)出來(lái),并將其封鎖住不再支配的壞簇區(qū)。很多病毒程序就是利用在文件支配表中將病毒本身占有的對(duì)應(yīng)簇號(hào)置成FF7H(對(duì)應(yīng)于12位FAT)來(lái)隱藏自己,使DOS系統(tǒng)不再支配這些被病毒占有的磁盤(pán)空間。在磁盤(pán)進(jìn)展讀、寫(xiě)時(shí),須要將某文件所占用的簇號(hào)轉(zhuǎn)換成邏輯扇區(qū)號(hào)。其轉(zhuǎn)換公式為:邏輯扇區(qū)號(hào)=(簇號(hào)-2)×每簇扇區(qū)號(hào)+系統(tǒng)占用扇區(qū)數(shù)其中,系統(tǒng)占用扇區(qū)數(shù)為DOS系統(tǒng)的引導(dǎo)扇區(qū)、文件支配表占用扇區(qū)數(shù)及根書(shū)目表占用扇區(qū)數(shù)之和。DOS引導(dǎo)扇區(qū)占一個(gè)扇區(qū),FAT占用扇區(qū)數(shù)可干脆由BPB表中查到。根書(shū)目表占的扇區(qū)數(shù)可用BPB表中根書(shū)目表項(xiàng)數(shù)求得。公式如下:根書(shū)目表占用扇區(qū)數(shù)=(根書(shū)目表項(xiàng)數(shù)×每項(xiàng)字節(jié)數(shù))/512=(根書(shū)目表項(xiàng)數(shù)×32)/512=根書(shū)目表項(xiàng)數(shù)/16對(duì)于1.44MB軟盤(pán):根書(shū)目表占用扇區(qū)數(shù)=240/16=15,FA

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論