專利名稱:磁盤還原保護(hù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)還原保護(hù)技術(shù)領(lǐng)域,特別涉及一種磁盤還原保護(hù)方法,尤其涉及一種基于沙箱的磁盤還原保護(hù)方法。
背景技術(shù):
保護(hù)電腦的方法有很多,最常用的手段是殺毒、GHOST磁盤備份還原等。病毒和木馬具有很高的技術(shù)含量,不光對電腦系統(tǒng)和文件具有破壞性,而且還具有自身復(fù)制和傳播性。因此,一旦感染病毒或木馬使用殺毒軟件很難查殺干凈。也許當(dāng)時(shí)檢查已經(jīng)沒有病毒存在,但是如果病毒源文件沒有破壞,過一段時(shí)間病毒通過復(fù)制又會(huì)出現(xiàn)在系統(tǒng)當(dāng)中。在查殺的過程中,也由于要?jiǎng)h除病毒文件,所以有些系統(tǒng)文件感染病毒后也會(huì)被殺毒軟件刪除一部分文件內(nèi)容,造成系統(tǒng)運(yùn)行的不穩(wěn)定。
現(xiàn)有的保護(hù)系統(tǒng)方案存在很多問題首先,殺毒軟件存在查殺病毒不干凈、查殺時(shí)間較長,病毒庫需要時(shí)時(shí)升級,查殺過程中可能會(huì)誤刪操作系統(tǒng)文件等情況的發(fā)生;其次,現(xiàn)有的磁盤還原軟件或者windows系統(tǒng)自帶還原軟件,需要手動(dòng)保存鏡像文件Image,如果用戶想要還原扇區(qū),還要手動(dòng)選擇目標(biāo)磁盤和鏡像文件Image,才可以進(jìn)行還原操作。對用戶的操作要求比較高。沙箱(SendBoxie)磁盤還原保護(hù),越來越成為保護(hù)電腦不受病毒、木馬入侵的另一種重要手段?!吧诚洹笔且环N還原驅(qū)動(dòng)軟件。所謂的“沙箱”就好像在系統(tǒng)中安裝了一個(gè)箱子里面裝滿了沙子。當(dāng)對系統(tǒng)進(jìn)行操作,例如安裝軟件,創(chuàng)建修改文件,創(chuàng)建修改注冊表等操作都好像在這個(gè)沙箱中進(jìn)行的操作,雖然當(dāng)時(shí)留下了操作的痕跡,但是當(dāng)重啟電腦時(shí),這些痕跡就會(huì)在沙子表面消失。整個(gè)系統(tǒng)就像最初開始安裝過的一樣。這樣,就不僅僅保持系統(tǒng)的的干凈、快捷、杜絕了系統(tǒng)長期運(yùn)行垃圾數(shù)據(jù)占用系統(tǒng)的磁盤空間,而且還保證了一些惡意軟件,例如病毒,木馬,后門程序?qū)ο到y(tǒng)的傷害。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問題本發(fā)明要解決的技術(shù)問題是,針對現(xiàn)有技術(shù)的不足,提供一種磁盤還原保護(hù)方法,采用磁盤級驅(qū)動(dòng)程序,通過對磁盤驅(qū)動(dòng)設(shè)備綁定磁盤過濾設(shè)備,達(dá)到攔截系統(tǒng)磁盤IRP請求的目的。(二)技術(shù)方案本發(fā)明提供一種磁盤還原保護(hù)方法,包括如下步驟SI :將沙箱設(shè)置為與所述Windows系統(tǒng)同步啟動(dòng);S2 :所述沙箱捕捉磁盤加載即插即用請求和電源狀態(tài)請求,并調(diào)用AddDevice函數(shù);S3 :利用AddDevice函數(shù)得到磁盤設(shè)備對象;S4 :建立磁盤過濾設(shè)備綁定到S3中的磁盤設(shè)備對象;
S5 :得到S3中的磁盤設(shè)備對象的磁盤格式信息;S6 :根據(jù)S5中的磁盤格式信息創(chuàng)建臨時(shí)Map文件并格式化,用于保存磁盤讀寫操作信息;S7 :開啟S3中的磁盤設(shè)備對象的磁盤驅(qū)動(dòng)程序的讀寫線程,用于處理對磁盤的I/O讀寫請求;S8 :當(dāng)系統(tǒng)重啟時(shí),刪除S6中創(chuàng)建的臨時(shí)Map文件。更好地,在S5中所述的磁盤的格式信息包括格式類型、虛擬簇和邏輯簇的對應(yīng)關(guān)系?!じ玫?在S7中,當(dāng)接到I/O請求的讀寫請求時(shí),將I/O請求的讀寫請求插入隊(duì)列,讓該請求排隊(duì)等待讀寫線程函數(shù)的處理。更好地,在讀寫線程函數(shù)的處理過程中,如果是寫磁盤請求,就把請求的內(nèi)容寫到所述臨時(shí)Map文件的對應(yīng)的位置中。更好地,在讀寫線程函數(shù)的處理過程中,如果是讀文件,從Map文件的對應(yīng)位置讀取內(nèi)容返給操作系統(tǒng)。更好地,所述沙箱驅(qū)動(dòng)軟件采用WDM驅(qū)動(dòng)模式。(三)有益效果本方案采用磁盤級驅(qū)動(dòng)程序。通過對磁盤驅(qū)動(dòng)設(shè)備綁定磁盤過濾設(shè)備,達(dá)到攔截系統(tǒng)磁盤IRP請求的目的。通過對IRP的處理,使得操作系統(tǒng)以為IRP請求寫到了真實(shí)的磁盤設(shè)備上。當(dāng)系統(tǒng)重啟時(shí),刪除了上次創(chuàng)建的臨時(shí)Map文件,達(dá)到了丟棄到上次開機(jī)全部操作的目的,使得操作系統(tǒng)真實(shí)磁盤保持了原始安裝后的磁盤狀態(tài)。
圖I為本發(fā)明磁盤還原保護(hù)方法步驟流程圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。如圖I所示,一種磁盤還原保護(hù)方法,包括如下步驟SI :將沙箱設(shè)直為與所述Windows系統(tǒng)問步啟動(dòng);S2 :所述沙箱捕捉磁盤加載I即插即用請求和電源狀態(tài)請求,并調(diào)用AddDevice函數(shù);所述沙箱驅(qū)動(dòng)軟件采用WDM驅(qū)動(dòng)模式。當(dāng)U盤插入電腦時(shí),由于windows中Usb總線支持PNP即插即用操作(PLUG AND PLAY),捕捉到了 Usb設(shè)備的插入請求。Usb總線驅(qū)動(dòng)進(jìn)行了硬件辨認(rèn),并查找對應(yīng)驅(qū)動(dòng)、安裝,最終達(dá)到Usb設(shè)備可以工作的目的。接下來對應(yīng)當(dāng)前Usb設(shè)備的設(shè)備類型,VID, PID等信息進(jìn)行了讀取。在讀取過程中根據(jù)Usb設(shè)備類型,進(jìn)行下一步操作。把Irp請求發(fā)送到磁盤驅(qū)動(dòng),這樣磁盤驅(qū)動(dòng)就得到了 U盤插入的通知;S3 :利用 AddDevice 函數(shù)得到磁盤設(shè)備對象;NTSTATUS DiskPerfAddDevice (INPDRIVER_OBJECT DriverObject, IN PDEVICE OBJECT PhysicalDeviceObject)函數(shù)中的PhysicalDeviceObject就代表要插入的物理磁盤設(shè)備;S4 :建立磁盤過濾設(shè)備綁定到S3中的磁盤設(shè)備對象;磁盤過濾設(shè)備的作用是當(dāng)對系統(tǒng)對磁盤進(jìn)行讀寫IO等Irp請求時(shí),磁盤過濾設(shè)備先于磁盤驅(qū)動(dòng)得到這些請求,就可以對這些Irp請求進(jìn)行操作,修改;S5 :得到S3中的磁盤設(shè)備對象的磁盤格式信息,磁盤的格式信息包括格式類型、虛擬簇和邏輯簇的對應(yīng)關(guān)系得到磁盤格式信息就可以知道卷開始位置,卷大小,每個(gè)磁道多少扇區(qū);S6 :根據(jù)S5中的磁盤格式信息創(chuàng)建臨時(shí)Map文件并格式化,用于保存磁盤讀寫操作信息;S7 :開啟S3中的磁盤設(shè)備對象的磁盤驅(qū)動(dòng)程序的讀寫線程,用于處理對磁盤的I/O讀寫請求;S8 :當(dāng)系統(tǒng)重啟時(shí),刪除S6中創(chuàng)建的臨時(shí)Map文件。在S7中,將I/O請求的讀寫請求插入隊(duì)列,讓該請求排隊(duì)等待讀寫線程函數(shù)的處·理。在讀寫線程函數(shù)的處理過程中,如果是寫磁盤請求,就把請求的內(nèi)容寫到所述臨時(shí)Map文件的對應(yīng)的位置中。在讀寫線程函數(shù)的處理過程中,如果是讀文件,從Map文件的對應(yīng)位置讀取內(nèi)容返給操作系統(tǒng)。以上實(shí)施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.ー種磁盤還原保護(hù)方法,其特征在于,包括如下步驟 51:將沙箱設(shè)置為與所述Windows系統(tǒng)同步啟動(dòng);52:所述沙箱捕捉磁盤加載即插即用請求和電源狀態(tài)請求,并調(diào)用AddDevice函數(shù); 53:利用AddDevice函數(shù)得到磁盤設(shè)備對象; 54:建立磁盤過濾設(shè)備綁定到S3中的磁盤設(shè)備對象; 55:得到S3中的磁盤設(shè)備對象的磁盤格式信息;56:根據(jù)S5中的磁盤格式信息創(chuàng)建臨時(shí)Map文件并格式化,用于保存磁盤讀寫操作信息; 57:開啟S3中的磁盤設(shè)備對象的磁盤驅(qū)動(dòng)程序的讀寫線程,用于處理對磁盤的I/O讀寫請求; 58:當(dāng)系統(tǒng)重啟時(shí),刪除S6中創(chuàng)建的臨時(shí)Map文件。
2.如權(quán)利要求I所述的磁盤還原保護(hù)方法,其特征在于,在S5中所述的磁盤的格式信息包括格式類型、虛擬簇和邏輯簇的對應(yīng)關(guān)系。
3.如權(quán)利要求I所述的磁盤還原保護(hù)方法,其特征在于,在S7中,當(dāng)接到I/O請求的讀寫請求時(shí),將I/O請求的讀寫請求插入隊(duì)列,讓該請求排隊(duì)等待讀寫線程函數(shù)的處理。
4.如權(quán)利要求3所述的磁盤還原保護(hù)方法,其特征在干,在讀寫線程函數(shù)的處理過程中,如果是寫磁盤請求,就把請求的內(nèi)容寫到所述臨時(shí)Map文件的對應(yīng)的位置中。
5.如權(quán)利要求3所述的磁盤還原保護(hù)方法,其特征在于,在讀寫線程函數(shù)的處理過程中,如果是讀文件,從Map文件的對應(yīng)位置讀取內(nèi)容返給操作系統(tǒng)。
6.如權(quán)利要求I所述的磁盤還原保護(hù)方法,其特征在于,所述沙箱驅(qū)動(dòng)軟件采用WDM驅(qū)動(dòng)模式。
全文摘要
本發(fā)明提供一種磁盤還原保護(hù)方法,包括如下步驟S1將沙箱設(shè)置為與所述Windows系統(tǒng)同步啟動(dòng);S2所述沙箱捕捉磁盤加載即插即用請求和電源狀態(tài)請求,并調(diào)用AddDevice函數(shù);S3利用AddDevice函數(shù)得到磁盤設(shè)備對象;S4建立磁盤過濾設(shè)備綁定到S3中的磁盤設(shè)備對象;S5得到磁盤格式信息;S6根據(jù)S5中的磁盤格式信息創(chuàng)建臨時(shí)Map文件并格式化,用于保存磁盤讀寫操作信息;S7開啟S3中的磁盤設(shè)備對象的磁盤驅(qū)動(dòng)程序的讀寫線程,用于處理對磁盤的I/O讀寫請求;S8當(dāng)系統(tǒng)重啟時(shí),刪除S6中創(chuàng)建的臨時(shí)Map文件。本發(fā)明采用磁盤級驅(qū)動(dòng)程序,通過對磁盤驅(qū)動(dòng)設(shè)備綁定磁盤過濾設(shè)備,達(dá)到攔截系統(tǒng)磁盤IRP請求的目的。
文檔編號G06F21/00GK102819711SQ20121029915
公開日2012年12月12日 申請日期2012年8月21日 優(yōu)先權(quán)日2012年8月21日
發(fā)明者于曉軍, 萬雪松, 趙辰清 申請人:北京思創(chuàng)銀聯(lián)科技股份有限公司