電腦病毒的結(jié)構(gòu)
電腦病毒的結(jié)構(gòu)
電腦結(jié)構(gòu)是什么的呢?下面是學(xué)習(xí)啦小編為你整理相關(guān)的內(nèi)容,希望大家喜歡!
先簡(jiǎn)單介紹一下硬盤(pán)上相關(guān)結(jié)構(gòu):
1、MBR(主引導(dǎo)記錄)
硬盤(pán)第一個(gè)物理扇區(qū)為MBR,當(dāng)我們選擇從硬盤(pán)啟動(dòng)時(shí),由 bois從該扇區(qū)讀入引導(dǎo)代碼。MBR關(guān)鍵數(shù)據(jù)可分為3部分:
(1) 引導(dǎo)代碼
(2) 分區(qū)表
(3) 結(jié)束標(biāo)志(55AA)
分區(qū)表用以管理整個(gè)磁盤(pán)空間的劃分。它從MBR的0x1BE偏移開(kāi)始,有4個(gè)表項(xiàng),每項(xiàng)16個(gè)字節(jié),因此最多只能可以建立4個(gè)主分區(qū)。(微軟為了克服這個(gè)數(shù)量限制,設(shè)計(jì)了擴(kuò)展分區(qū)的方式,所謂擴(kuò)展分區(qū)就是分區(qū)表中指向的一個(gè)普通分區(qū)而已,只是在它自己分區(qū)內(nèi)部又有特殊的結(jié)構(gòu),使得我們可以分出多個(gè)邏輯分區(qū),我們平時(shí)看到的d、e、f等驅(qū)動(dòng)器實(shí)際上都是擴(kuò)展分區(qū)內(nèi)部劃分的邏輯分區(qū),你可以用winhex查看你的分區(qū)表,會(huì)發(fā)現(xiàn)里面只有兩項(xiàng),一項(xiàng)代表C盤(pán)分區(qū),另外一項(xiàng)就是代表其他所有驅(qū)動(dòng)器之和的擴(kuò)展分區(qū)了,當(dāng)然如果自己分了其他主分區(qū)的情況除外)
2、DBR
每個(gè)主分區(qū)的第一個(gè)扇區(qū)存放著另一個(gè)引導(dǎo)扇區(qū)DBR,“分區(qū)引導(dǎo)扇區(qū)”或叫“DOS引導(dǎo)扇區(qū)”。該扇區(qū)的目的就是讀入ntldr,以進(jìn)行進(jìn)一步分引導(dǎo)。該扇區(qū)也是以”55AA”標(biāo)志結(jié)束。
3、擴(kuò)展分區(qū)
詳細(xì)講一下擴(kuò)展分區(qū)的結(jié)構(gòu),我們平時(shí)能分多個(gè)邏輯磁盤(pán)出來(lái)都是它的功勞。
前面說(shuō)了擴(kuò)展分區(qū)內(nèi)部有著自己特殊的結(jié)構(gòu)以實(shí)現(xiàn)多分區(qū),它和普通的主分區(qū)一個(gè)明顯的差別就是它的第一個(gè)扇區(qū)存放的就不是DBR了,而是一個(gè)叫虛擬MBR的扇區(qū)。叫虛擬MBR是因?yàn)樗蚆BR結(jié)構(gòu)很像。結(jié)構(gòu)也為3部分:
(1) 全0
(2) 分區(qū)表
(3) 55AA
它沒(méi)有引導(dǎo)代碼,以全0代替。分區(qū)表偏移也在0x1BE處,為4項(xiàng)。只是它只會(huì)用前兩項(xiàng)。后面兩項(xiàng)全0。第一項(xiàng)指向一個(gè)邏輯驅(qū)動(dòng)器(邏輯分區(qū))比如d盤(pán)。第二項(xiàng)指向下一個(gè)虛擬MBR(如果還有邏輯分區(qū)的話)。如此就形成了一個(gè)鏈,突破了分區(qū)個(gè)數(shù)限制。擴(kuò)展分區(qū)本身沒(méi)有DBR,它的DBR在它的每個(gè)孩子即邏輯分區(qū)的第一個(gè)扇區(qū)。你可以把擴(kuò)展分區(qū)想象成一個(gè)獨(dú)立的硬盤(pán),只是分區(qū)的組織方式變成鏈表了,這樣可能好理解點(diǎn)。忘了一點(diǎn),記得曾經(jīng)有過(guò)硬盤(pán)邏輯鎖的概念,其原理就是把邏輯分區(qū)的鏈表修改成了一個(gè)環(huán),這樣在系統(tǒng)遍歷這個(gè)鏈表時(shí)就死循環(huán)了。