查殺引導(dǎo)型病毒的方法及系統(tǒng)【技術(shù)領(lǐng)域】本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種查殺引導(dǎo)型病毒的方法及系統(tǒng)。
背景技術(shù):硬盤(pán)格式存儲(chǔ)設(shè)備的主引導(dǎo)扇區(qū)位于整個(gè)硬盤(pán)的0磁道0柱面1扇區(qū)即第一扇區(qū)(也叫主引導(dǎo)記錄MBR),包括硬盤(pán)主引導(dǎo)記錄、分區(qū)信息表和主引導(dǎo)記錄結(jié)束標(biāo)志字符;硬盤(pán)格式設(shè)備通常包括多個(gè)分區(qū),每個(gè)分區(qū)都有一個(gè)分區(qū)引導(dǎo)記錄(DOSBootRecord,DBR),其中MBR不屬于任何一個(gè)分區(qū)。每個(gè)分區(qū)的DBR位于每個(gè)分區(qū)的第一扇區(qū)。如果計(jì)算機(jī)的系統(tǒng)啟動(dòng)程序安裝在硬盤(pán)格式存儲(chǔ)設(shè)備上,在開(kāi)機(jī)上電后,會(huì)通過(guò)BIOS中斷服務(wù)程序?qū)BR讀入內(nèi)存,然后通過(guò)MBR找到其中一個(gè)分區(qū)有系統(tǒng)啟動(dòng)程序,再通過(guò)該分區(qū)的DBR引導(dǎo)進(jìn)操作系統(tǒng)。軟盤(pán)(FloppyDiskDrive,F(xiàn)DD)格式存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)也是第一扇區(qū)(FDD的DBR)。如果系統(tǒng)啟動(dòng)程序(一般是DOS系統(tǒng))安裝在FDD格式存儲(chǔ)設(shè)備上,在開(kāi)機(jī)上電后,會(huì)通過(guò)BIOS中斷服務(wù)程序?qū)BR讀入內(nèi)存,通過(guò)DBR引導(dǎo)進(jìn)操作系統(tǒng)。本文中所提到的引導(dǎo)記錄數(shù)據(jù)的概念,是個(gè)廣義的概念,可以是硬盤(pán)第一扇區(qū)的數(shù)據(jù)(包括但不限于硬盤(pán)主引導(dǎo)記錄的數(shù)據(jù));也可以是軟盤(pán)引導(dǎo)扇區(qū)的數(shù)據(jù)。引導(dǎo)型病毒是指專(zhuān)門(mén)感染硬盤(pán)格式存儲(chǔ)設(shè)備的主引導(dǎo)扇區(qū)或軟盤(pán)格式存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)的一類(lèi)病毒。我們?cè)诜治鲆龑?dǎo)型病毒的機(jī)理后,得到以下過(guò)程:如果存儲(chǔ)設(shè)備感染了引導(dǎo)型病毒,引導(dǎo)型病毒會(huì)將正常的MBR或DBR數(shù)據(jù)備份到存儲(chǔ)設(shè)備的某一個(gè)位置。如果將感染引導(dǎo)型病毒的存儲(chǔ)設(shè)備作為系統(tǒng)啟動(dòng)盤(pán)使用,從感染了引導(dǎo)型病毒的存儲(chǔ)設(shè)備引導(dǎo),在執(zhí)行BIOS中斷服務(wù)器程序?qū)BR或DBR讀入內(nèi)存的階段,病毒代碼將被讀入內(nèi)存并執(zhí)行。在執(zhí)行病毒代碼的過(guò)程中,引導(dǎo)型病毒從備份的位置將正常的MBR或DBR數(shù)據(jù)讀到內(nèi)存中并執(zhí)行,系統(tǒng)正常引導(dǎo)進(jìn)操作系統(tǒng)從而掩蓋病毒自身。待系統(tǒng)引導(dǎo)進(jìn)操作系統(tǒng)之后,病毒發(fā)作,致使出現(xiàn)類(lèi)似藍(lán)屏、定時(shí)重啟等問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:基于此,有必要提供一種能防止病毒掩蓋自身從而使得引導(dǎo)型病毒的查殺更精確有效的查殺引導(dǎo)型病毒的方法。一種查殺引導(dǎo)型病毒的方法,包括以下步驟:開(kāi)機(jī)上電,硬件初始化設(shè)置;檢測(cè)存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)是否包含預(yù)設(shè)的引導(dǎo)型病毒的特征標(biāo)識(shí),若是,則清除引導(dǎo)型病毒;加載引導(dǎo)設(shè)備的引導(dǎo)扇區(qū),引導(dǎo)進(jìn)入操作系統(tǒng)。優(yōu)選的,所述存儲(chǔ)設(shè)備包括多個(gè)存儲(chǔ)設(shè)備;在所述硬件初始化設(shè)置的步驟之后,進(jìn)一步包括:遍歷存儲(chǔ)設(shè)備,對(duì)每個(gè)存儲(chǔ)設(shè)備,執(zhí)行所述檢測(cè)存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)是否包含預(yù)設(shè)的引導(dǎo)型病毒的特征標(biāo)識(shí)的步驟。優(yōu)選的,所述清除引導(dǎo)型病毒的步驟為:獲取引導(dǎo)型病毒備份正常引導(dǎo)記錄數(shù)據(jù)的存放位置,從所述存放位置讀取所述備份的正常引導(dǎo)記錄數(shù)據(jù),寫(xiě)入存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。優(yōu)選的,所述獲取引導(dǎo)型病毒備份正常引導(dǎo)記錄數(shù)據(jù)的存放位置,從所述存放位置讀取所述備份的正常引導(dǎo)記錄數(shù)據(jù),寫(xiě)入存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)的步驟包括:若存儲(chǔ)設(shè)備是硬盤(pán)格式存儲(chǔ)設(shè)備,則根據(jù)存儲(chǔ)設(shè)備的MBR獲取引導(dǎo)型病毒備份的正常MBR數(shù)據(jù)的存放位置,從所述存放位置讀取所述備份的正常MBR數(shù)據(jù),寫(xiě)入所述硬盤(pán)格式存儲(chǔ)設(shè)備的主引導(dǎo)扇區(qū);若存儲(chǔ)設(shè)備是軟盤(pán)格式存儲(chǔ)設(shè)備,則根據(jù)所述存儲(chǔ)設(shè)備的DBR獲取引導(dǎo)型病毒備份的正常DBR數(shù)據(jù)的存放位置,從所述存放位置讀取所述備份的正常DBR數(shù)據(jù),寫(xiě)入所述軟盤(pán)格式存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。優(yōu)選的,所述清除引導(dǎo)型病毒的步驟為:獲取病毒代碼的存放位置和引導(dǎo)型病毒備份的加密后的正常引導(dǎo)記錄數(shù)據(jù)的存放位置,獲取所述病毒代碼和所述備份的加密后的正常引導(dǎo)記錄數(shù)據(jù),根據(jù)所述病毒代碼對(duì)所述加密后的正常引導(dǎo)記錄數(shù)據(jù)進(jìn)行解密,將解密后的正常引導(dǎo)記錄數(shù)據(jù)寫(xiě)回存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。此外,還有必要提供一種能放置病毒掩蓋自身從而使得引導(dǎo)型病毒的查殺更精確有效的查殺引導(dǎo)型病毒的系統(tǒng)。一種查殺引導(dǎo)型病毒的系統(tǒng),包括:初始化模塊,用于在開(kāi)機(jī)上電后進(jìn)行硬件初始化設(shè)置;檢測(cè)模塊,用于檢測(cè)存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)是否包含預(yù)設(shè)的引導(dǎo)型病毒的特征標(biāo)識(shí);病毒清除模塊,用于在所述檢測(cè)模塊檢測(cè)到存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)是否包含預(yù)設(shè)的引導(dǎo)型病毒的特征標(biāo)識(shí)時(shí)清除引導(dǎo)型病毒;引導(dǎo)模塊,用于加載引導(dǎo)設(shè)備的引導(dǎo)扇區(qū),引導(dǎo)進(jìn)入操作系統(tǒng)。優(yōu)選的,所述存儲(chǔ)包括多個(gè)存儲(chǔ)設(shè)備;所述系統(tǒng)還包括:遍歷模塊,用于遍歷存儲(chǔ)設(shè)備,對(duì)每個(gè)存儲(chǔ)設(shè)備,通知所述檢測(cè)模塊檢測(cè)存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)是否包含預(yù)設(shè)的引導(dǎo)型病毒的特征標(biāo)識(shí)。優(yōu)選的,所述病毒清除模塊還用于獲取引導(dǎo)型病毒備份正常引導(dǎo)記錄數(shù)據(jù)的存放位置,從所述存放位置讀取所述備份的正常引導(dǎo)記錄數(shù)據(jù),寫(xiě)入存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。優(yōu)選的,若存儲(chǔ)設(shè)備是硬盤(pán)格式存儲(chǔ)設(shè)備,所述病毒清除模塊還用于根據(jù)存儲(chǔ)設(shè)備的MBR獲取引導(dǎo)型病毒的正常MBR數(shù)據(jù)的存放位置,從所述存放位置讀取所述備份的正常MBR數(shù)據(jù),寫(xiě)入所述硬盤(pán)格式存儲(chǔ)設(shè)備的主引導(dǎo)扇區(qū);若存儲(chǔ)設(shè)備是軟盤(pán)格式存儲(chǔ)設(shè)備,所述病毒清除模塊還用于根據(jù)存儲(chǔ)設(shè)備的DBR獲取引導(dǎo)型病毒備份的正常DBR數(shù)據(jù)的存放位置,從所述存放位置讀取所述備份的正常DBR數(shù)據(jù),寫(xiě)入所述軟盤(pán)格式存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。優(yōu)選的,所述病毒清除模塊還用于獲取病毒代碼的存放位置和引導(dǎo)型病毒備份的加密后的正常引導(dǎo)記錄數(shù)據(jù)的存放位置,獲取所述病毒代碼和所述備份的加密后的正常引導(dǎo)記錄數(shù)據(jù),根據(jù)所述病毒代碼對(duì)所述加密后的正常引導(dǎo)記錄數(shù)據(jù)進(jìn)行解密,將解密后的正常引導(dǎo)記錄數(shù)據(jù)寫(xiě)回存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。上述查找引導(dǎo)型病毒的方法及系統(tǒng),在加載引導(dǎo)設(shè)備的引導(dǎo)扇區(qū)之前對(duì)存儲(chǔ)設(shè)備進(jìn)行檢測(cè),并在檢測(cè)到引導(dǎo)型病毒時(shí)進(jìn)行清除,由于此時(shí)引導(dǎo)扇區(qū)還未加載,MBR或DBR數(shù)據(jù)都還沒(méi)有讀入內(nèi)存,引導(dǎo)型病毒并沒(méi)有開(kāi)始執(zhí)行,因此引導(dǎo)型病毒無(wú)法返回正常的MBR或DBR,使得引導(dǎo)型病毒無(wú)法掩蓋自身,從而能使得引導(dǎo)型病毒的查殺更精確有效?!靖綀D說(shuō)明】圖1為本發(fā)明查殺引導(dǎo)型病毒的方法的流程示意圖;圖2為一個(gè)實(shí)施例中清除NBY病毒的方法流程圖;圖3為另一個(gè)實(shí)施例中清除CNY病毒的方法流程圖;圖4為本發(fā)明查殺引導(dǎo)型病毒的系統(tǒng)的結(jié)構(gòu)示意圖。【具體實(shí)施方式】本發(fā)明通過(guò)在加載引導(dǎo)設(shè)備的引導(dǎo)扇區(qū)之前,檢測(cè)存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)中是否包含預(yù)設(shè)的引導(dǎo)型病毒的特征標(biāo)識(shí),并在檢測(cè)到引導(dǎo)型病毒時(shí)進(jìn)行清除。由于加載引導(dǎo)扇區(qū)之前,引導(dǎo)型病毒還沒(méi)有開(kāi)始執(zhí)行,MBR或DBR數(shù)據(jù)都還沒(méi)有讀入內(nèi)存和執(zhí)行,也就無(wú)法掩蓋自身,從而使得引導(dǎo)型病毒的查殺更加精確有效。如圖1所示,本發(fā)明提供的查殺引導(dǎo)型病毒的方法,包括以下步驟:步驟S10,開(kāi)機(jī)上電,硬件初始化設(shè)置。步驟S20,檢測(cè)存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)是否包含預(yù)設(shè)的引導(dǎo)型病毒的特征標(biāo)識(shí),若是,則進(jìn)入步驟S30,否則進(jìn)入步驟S40。在一個(gè)實(shí)施例中,存儲(chǔ)設(shè)備可包括多個(gè)存儲(chǔ)設(shè)備,硬件初始化設(shè)置的過(guò)程之后會(huì)檢測(cè)到所有的存儲(chǔ)設(shè)備,則遍歷存儲(chǔ)設(shè)備,對(duì)每個(gè)存儲(chǔ)設(shè)備都執(zhí)行檢測(cè)存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)是否包含預(yù)設(shè)的引導(dǎo)型病毒的特征標(biāo)識(shí)的步驟。在一個(gè)實(shí)施例中,事先可設(shè)置引導(dǎo)型病毒的特征標(biāo)識(shí)。引導(dǎo)型病毒的特征標(biāo)識(shí)可以用于唯一標(biāo)識(shí)病毒,根據(jù)特征標(biāo)識(shí)可以確定存儲(chǔ)設(shè)備感染了哪種引導(dǎo)型病毒。具體的,引導(dǎo)型病毒的特征標(biāo)識(shí)可以是特殊的固定值。例如,感染了CNY病毒(一種引導(dǎo)型病毒)的MBR數(shù)據(jù)中的0BH開(kāi)始的一個(gè)字的數(shù)據(jù)為0678H,則該病毒的特征標(biāo)識(shí)可為0678H。檢測(cè)時(shí),則檢測(cè)MBR數(shù)據(jù)中的0BH開(kāi)始的一個(gè)字的數(shù)據(jù)是否為0678H。進(jìn)一步的,可將設(shè)置的引導(dǎo)型病毒的特征標(biāo)識(shí)存儲(chǔ)在病毒庫(kù)中。在步驟S20中,對(duì)于每個(gè)存儲(chǔ)設(shè)備,如果檢測(cè)到存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)包含病毒庫(kù)中的引導(dǎo)型病毒的特征標(biāo)識(shí),則說(shuō)明存儲(chǔ)設(shè)備感染了引導(dǎo)型病毒,如果沒(méi)有檢測(cè)到,則說(shuō)明存儲(chǔ)設(shè)備未感染引導(dǎo)型病毒。步驟S30,清除引導(dǎo)型病毒。步驟S40,加載引導(dǎo)設(shè)備的引導(dǎo)扇區(qū),引導(dǎo)進(jìn)入操作系統(tǒng)。由于是在加載引導(dǎo)設(shè)備的引導(dǎo)扇區(qū)之前檢測(cè)存儲(chǔ)設(shè)備是否感染了引導(dǎo)型病毒,此時(shí)病毒代碼并未執(zhí)行,因此病毒不能掩蓋自身,可以在病毒代碼執(zhí)行前清除引導(dǎo)型病毒,從而能夠更加精確有效的查殺引導(dǎo)型病毒。由于引導(dǎo)型病毒會(huì)將正常的MBR或DBR數(shù)據(jù)備份在存儲(chǔ)設(shè)備的某一個(gè)位置,要清除引導(dǎo)型病毒,必須還原正常的MBR或DBR數(shù)據(jù)。對(duì)于一些引導(dǎo)型病毒(例如NYB病毒,一種引導(dǎo)型病毒),其僅僅將正常MBR或DBR數(shù)據(jù)備份到存儲(chǔ)設(shè)備的某一個(gè)扇區(qū);對(duì)于其他一些引導(dǎo)型病毒(例如CNY病毒),其會(huì)將正常MBR或DBR數(shù)據(jù)加密后備份到存儲(chǔ)設(shè)備的某一位置。在一個(gè)實(shí)施例中,清除引導(dǎo)型病毒的步驟為:獲取引導(dǎo)型病毒備份的正常引導(dǎo)記錄數(shù)據(jù)的存放位置,從該存放位置讀取備份的正常引導(dǎo)記錄數(shù)據(jù),寫(xiě)入存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。具體的,可根據(jù)存儲(chǔ)設(shè)備的引導(dǎo)記錄(即存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū),該引導(dǎo)記錄已經(jīng)染病毒)獲取引導(dǎo)型病毒備份的引導(dǎo)記錄的存放位置。在一個(gè)實(shí)施例中,如果存儲(chǔ)設(shè)備是硬盤(pán)格式存儲(chǔ)設(shè)備,則根據(jù)存儲(chǔ)設(shè)備的MBR獲取引導(dǎo)型病毒備份的正常MBR數(shù)據(jù)的存放位置,從該存放位置讀取引導(dǎo)型病毒備份的正常MBR數(shù)據(jù),寫(xiě)入硬盤(pán)格式存儲(chǔ)設(shè)備的主引導(dǎo)扇區(qū)(即第1扇區(qū))。在本實(shí)施例或另一個(gè)實(shí)施例中,如果存儲(chǔ)設(shè)備是軟盤(pán)格式存儲(chǔ)設(shè)備,則根據(jù)存儲(chǔ)設(shè)備的DBR獲取引導(dǎo)型病毒備份的正常DBR數(shù)據(jù)的存放位置,從該存放位置讀取引導(dǎo)型病毒備份的正常DBR數(shù)據(jù),寫(xiě)入軟盤(pán)格式存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。具體的,可獲取軟盤(pán)格式存儲(chǔ)設(shè)備的DBR中的分區(qū)信息,根據(jù)該分區(qū)信息獲取引導(dǎo)型病毒備份的正常DBR數(shù)據(jù)的存放位置。如果引導(dǎo)型病毒還對(duì)正常的MBR或DBR數(shù)據(jù)進(jìn)行加密,則還原正常的MBR或DBR數(shù)據(jù)時(shí),還需要對(duì)加密后的正常MBR或DBR進(jìn)行解密。因此,在一個(gè)實(shí)施例中,清除存儲(chǔ)設(shè)備中的引導(dǎo)型病毒的步驟為:獲取病毒代碼的存放位置和引導(dǎo)型病毒備份的加密后的正常MBR或DBR數(shù)據(jù)的存放位置,從所述存放位置讀取病毒代碼和引導(dǎo)型病毒備份的加密后的正常MBR或DBR數(shù)據(jù),根據(jù)所述病毒代碼對(duì)加密后的正常MBR或DBR數(shù)據(jù)進(jìn)行解密。具體的,可分析病毒代碼中的解密代碼,根據(jù)分析出的解密代碼對(duì)加密后的正常MBR或DBR數(shù)據(jù)進(jìn)行解密,然后將解密后的正常MBR或DBR數(shù)據(jù)寫(xiě)回存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)(第一扇區(qū))。下面以?xún)蓚€(gè)典型的引導(dǎo)型病毒(NYB病毒和CNY病毒)為例來(lái)詳細(xì)說(shuō)明上述清除引導(dǎo)型病毒的具體過(guò)程。如果是硬盤(pán)格式存儲(chǔ)設(shè)備感染了NYB病毒,病毒會(huì)將病毒代碼放在硬盤(pán)格式存儲(chǔ)設(shè)備的MBR位置(即第一扇區(qū),也是主引導(dǎo)扇區(qū)),而將正常的MBR數(shù)據(jù)備份到硬盤(pán)格式存儲(chǔ)設(shè)備的第17扇區(qū)。如果是軟盤(pán)格式存儲(chǔ)設(shè)備感染了NYB病毒,病毒代碼會(huì)放在軟盤(pán)格式存儲(chǔ)設(shè)備的DBR位置(即第一扇區(qū),也是引導(dǎo)扇區(qū)),而正常的DBR數(shù)據(jù)會(huì)根據(jù)DBR的分區(qū)信息存放在軟盤(pán)格式存儲(chǔ)設(shè)備的某個(gè)扇區(qū)中,分區(qū)信息不同則備份的位置不同。當(dāng)從感染了NYB病毒的存儲(chǔ)設(shè)備引導(dǎo)時(shí)會(huì)先執(zhí)行病毒代碼,執(zhí)行病毒代碼的過(guò)程中會(huì)將正常的MBR或DBR數(shù)據(jù)讀到內(nèi)存(內(nèi)存地址為0:7C00),病毒代碼執(zhí)行完后再?gòu)脑搩?nèi)存位置(即內(nèi)存地址0:7C00)執(zhí)行正常的MBR或DBR,從而掩蓋病毒自身。病毒代碼執(zhí)行完成后病毒會(huì)常駐內(nèi)存。本實(shí)施例中,預(yù)先設(shè)置NYB病毒的特征標(biāo)識(shí)為特殊的固定值,例如感染了NYB病毒的引導(dǎo)扇區(qū)開(kāi)始的一個(gè)字的內(nèi)容為3EEBH,則NYB病毒的特征標(biāo)識(shí)可設(shè)置為3EEBH,在檢測(cè)到存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)開(kāi)始的一個(gè)字的內(nèi)容為3EEBH時(shí),則認(rèn)為感染了NYB病毒。本實(shí)施例中,如果檢測(cè)到存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)包含了預(yù)設(shè)的NYB病毒的特征標(biāo)識(shí),如圖2所示,清除NYB病毒的具體過(guò)程為:步驟S202,判斷存儲(chǔ)設(shè)備是硬盤(pán)格式存儲(chǔ)設(shè)備還是軟盤(pán)格式存儲(chǔ)設(shè)備,如果是硬盤(pán)格式存儲(chǔ)設(shè)備,則執(zhí)行步驟S204,如果是軟盤(pán)格式存儲(chǔ)設(shè)備,則執(zhí)行步驟S206。步驟S204,根據(jù)引導(dǎo)扇區(qū)中的MBR數(shù)據(jù)獲取到NYB病毒備份的正常MBR數(shù)據(jù)的存放位置為第17扇區(qū),從第17扇區(qū)讀取備份的正常MBR數(shù)據(jù),寫(xiě)入到硬盤(pán)格式存儲(chǔ)設(shè)備的主引導(dǎo)扇區(qū)(即第一扇區(qū))。本實(shí)施例中,根據(jù)分析感染了NYB病毒的MBR即可得知其備份的正常MBR數(shù)據(jù)的存放位置,將正常MBR數(shù)據(jù)寫(xiě)回到硬盤(pán)格式存儲(chǔ)設(shè)備的主引導(dǎo)扇區(qū),替代原有的帶NYB病毒的MBR,從而將NYB病毒清除。步驟S206,獲取軟盤(pán)格式存儲(chǔ)設(shè)備的DBR中的分區(qū)信息,根據(jù)分區(qū)信息獲取NYB病毒備份的正常DBR數(shù)據(jù)的存放位置,從該存放位置讀取NYB病毒備份的正常DBR數(shù)據(jù),寫(xiě)入到軟盤(pán)格式存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。本實(shí)施例中,由于DBR的分區(qū)格式不同則正常DBR數(shù)據(jù)的存放位置不同,根據(jù)感染了NYB病毒的DBR的分區(qū)信息可得到正常DBR數(shù)據(jù)存放在哪個(gè)扇區(qū)中,直接從這個(gè)扇區(qū)中讀取正常DBR數(shù)據(jù),寫(xiě)回到軟盤(pán)格式存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。對(duì)于CNY病毒,其只能感染硬盤(pán)格式存儲(chǔ)設(shè)備(包括硬盤(pán)、硬盤(pán)格式的CF卡、移動(dòng)存儲(chǔ)設(shè)備等)。如果存儲(chǔ)設(shè)備感染了CNY病毒,病毒代碼會(huì)修改正常MBR數(shù)據(jù)的前32個(gè)字節(jié),并將正常MBR數(shù)據(jù)的前32個(gè)字節(jié)加密后和病毒代碼一起存儲(chǔ)在硬盤(pán)格式存儲(chǔ)設(shè)備的某個(gè)位置,存儲(chǔ)設(shè)備的大小、分區(qū)格式不同則存儲(chǔ)的位置也不相同。感染了CNY病毒的MBR數(shù)據(jù)中記錄有存儲(chǔ)病毒代碼的位置。當(dāng)從感染了CNY病毒的存儲(chǔ)設(shè)備引導(dǎo)時(shí),會(huì)先將帶CNY病毒的MBR讀到內(nèi)存(內(nèi)地地址0:7C00),從該內(nèi)存地址開(kāi)始執(zhí)行病毒代碼,執(zhí)行病毒代碼的過(guò)程中將正常MBR數(shù)據(jù)的前32個(gè)字節(jié)解密后讀到內(nèi)存(內(nèi)存地址0:7C00),最后到內(nèi)存地址0:7C00的位置執(zhí)行正常MBR數(shù)據(jù)。而感染了CNY病毒的MBR的前32個(gè)字節(jié)會(huì)將病毒代碼讀取到內(nèi)存的另外的位置,從這一位置執(zhí)行病毒代碼,使病毒常駐內(nèi)存。在一個(gè)實(shí)施例中,如果檢測(cè)到存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)包含了病毒庫(kù)中的CNY病毒的特征標(biāo)識(shí),如圖3所示,則清除CNY病毒的具體過(guò)程為:步驟S302,根據(jù)引導(dǎo)扇區(qū)的MBR獲取病毒代碼和CNY病毒備份的正常MBR數(shù)據(jù)的存放位置。本實(shí)施例中,由于CNY病毒只感染硬盤(pán)格式存儲(chǔ)設(shè)備,分析感染了CNY病毒的MBR即可得知其病毒代碼存放位置和CNY病毒加密的正常MBR的前32個(gè)字節(jié)的存放位置。具體的,可根據(jù)MBR的前32個(gè)字節(jié)中的某些字節(jié)(例如第18、19、21、22字節(jié))來(lái)得知病毒代碼和正常MBR的前32個(gè)字節(jié)的存放位置。步驟S304,從所述存放位置讀取病毒代碼和CNY病毒備份的加密后的正常MBR數(shù)據(jù)。步驟S306,根據(jù)病毒代碼對(duì)備份的加密后的正常MBR數(shù)據(jù)進(jìn)行解密,將解密后的正常MBR數(shù)據(jù)寫(xiě)回存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。本實(shí)施例中,分析病毒代碼得到解密方式,然后對(duì)備份的正常MBR數(shù)據(jù)的前32個(gè)字節(jié)進(jìn)行解密,將解密后的正常MBR數(shù)據(jù)寫(xiě)回到硬盤(pán)格式存儲(chǔ)設(shè)備的主引導(dǎo)扇區(qū)中。如圖4所示,在一個(gè)實(shí)施例中,一種查殺引導(dǎo)型病毒的系統(tǒng),包括初始化模塊10、檢測(cè)模塊20、病毒清除模塊30和引導(dǎo)模塊40,其中:初始化模塊10用于在開(kāi)機(jī)上電后進(jìn)行硬件初始化設(shè)置。檢測(cè)模塊20用于檢測(cè)存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)是否包含預(yù)設(shè)的引導(dǎo)型病毒的特征標(biāo)識(shí)。病毒清除模塊30用于在檢測(cè)模塊20檢測(cè)到存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)包含預(yù)設(shè)的引導(dǎo)型病毒的特征標(biāo)識(shí)時(shí)清除引導(dǎo)型病毒。引導(dǎo)模塊40用于加載引導(dǎo)設(shè)備的引導(dǎo)扇區(qū),引導(dǎo)進(jìn)入操作系統(tǒng)。在一個(gè)實(shí)施例中,存儲(chǔ)設(shè)備可包括多個(gè)存儲(chǔ)設(shè)備,上述系統(tǒng)還包括遍歷模塊(圖中未示出),用于遍歷存儲(chǔ)設(shè)備,對(duì)每個(gè)存儲(chǔ)設(shè)備,則通知檢測(cè)模塊20檢測(cè)存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)是否包含預(yù)設(shè)的引導(dǎo)型病毒的特征標(biāo)識(shí)。在一個(gè)實(shí)施例中,病毒清除模塊30還用于獲取引導(dǎo)型病毒備份正常引導(dǎo)記錄數(shù)據(jù)的存放位置,從所述存放位置讀取所述備份的正常引導(dǎo)記錄數(shù)據(jù),寫(xiě)入存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。在一個(gè)實(shí)施例中,若存儲(chǔ)設(shè)備是硬盤(pán)格式存儲(chǔ)設(shè)備,病毒清除模塊30還用于根據(jù)存儲(chǔ)設(shè)備的MBR獲取引導(dǎo)型病毒的正常MBR數(shù)據(jù)的存放位置,從所述存放位置讀取備份的正常MBR數(shù)據(jù),寫(xiě)入硬盤(pán)格式存儲(chǔ)設(shè)備的主引導(dǎo)扇區(qū)。在本實(shí)施例或另一個(gè)實(shí)施例中,若存儲(chǔ)設(shè)備是軟盤(pán)格式存儲(chǔ)設(shè)備,病毒清除模塊30還用于根據(jù)存儲(chǔ)設(shè)備的DBR獲取引導(dǎo)型病毒備份的正常DBR數(shù)據(jù)的存放位置,從所述存放位置讀取備份的正常DBR數(shù)據(jù),寫(xiě)入軟盤(pán)格式存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。在一個(gè)實(shí)施例中,病毒清除模塊30還用于獲取病毒代碼的存放位置和引導(dǎo)型病毒備份的加密后的正常引導(dǎo)記錄數(shù)據(jù)的存放位置,獲取病毒代碼和所述備份的加密后的正常引導(dǎo)記錄數(shù)據(jù),根據(jù)病毒代碼對(duì)加密后的正常引導(dǎo)記錄數(shù)據(jù)進(jìn)行解密,將解密后的正常引導(dǎo)記錄數(shù)據(jù)寫(xiě)回存儲(chǔ)設(shè)備的引導(dǎo)扇區(qū)。上述查殺引導(dǎo)型病毒的方法及系統(tǒng),由于在加載引導(dǎo)設(shè)備的引導(dǎo)扇區(qū)之前對(duì)存儲(chǔ)設(shè)備進(jìn)行檢測(cè),使得引導(dǎo)型病毒無(wú)法掩蓋自身,因此查找更加精確。而在檢測(cè)到存儲(chǔ)設(shè)備感染了引導(dǎo)型病毒后,通過(guò)還原正常MBR或DBR數(shù)據(jù)將病毒清除,由于此時(shí)病毒代碼還未執(zhí)行,因此清除更加有效。此外,本發(fā)明可通過(guò)BIOS實(shí)現(xiàn)查殺引導(dǎo)型病毒,不需要添加額外的硬件來(lái)備份任何存儲(chǔ)設(shè)備的MBR或DBR數(shù)據(jù),也不需要其他的軟件輔助就可以實(shí)現(xiàn)查殺引導(dǎo)型病毒,因此不會(huì)占用額外的資源,節(jié)省了成本。而由于BIOS本身獨(dú)立于操作系統(tǒng),通過(guò)BIOS實(shí)現(xiàn)查殺與用戶(hù)使用的操作系統(tǒng)并不相關(guān),因此本發(fā)明不會(huì)依賴(lài)操作系統(tǒng),應(yīng)用更廣泛。以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專(zhuān)利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專(zhuān)利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。