亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種efs加密文件的恢復(fù)方法及系統(tǒng)的制作方法

文檔序號(hào):6380915閱讀:355來源:國知局
專利名稱:一種efs加密文件的恢復(fù)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于文件恢復(fù)技術(shù)領(lǐng)域,具體涉及一種EFS加密文件的恢復(fù)方法及系統(tǒng)。
背景技術(shù)
NTFS 是 Windows NT 以及之后的 Windows 2000、Windows XP、Windows Server2003> Windows Server 2008> Windows Vista 和 Windows 7 的標(biāo)準(zhǔn)文件系統(tǒng)。NTFS 取代了文件分配表(FAT)文件系統(tǒng),為Microsoft的Windows系列操作系統(tǒng)提供文件系統(tǒng)。NTFS中,卷中所有存放的數(shù)據(jù)均在一個(gè)叫$MFT的文件中,叫主文件表(MasterFileTable)。]fli$MFT則由文件記錄(File Record)數(shù)組構(gòu)成。File Record的大小一般是固定的,通常情況下均為1KB,這個(gè)概念相當(dāng)于Linux中的inode。File Record在$MFT文件中物理上是連續(xù)的,且從O開始編號(hào)。$MFT僅供File System本身組織、架構(gòu)文件系統(tǒng)使 用,這在NTFS中稱為元數(shù)據(jù)(MFTadata)。主文件表(MFT)的是一個(gè)映射磁盤中儲(chǔ)存的所有對(duì)象的索引文件。在MFT中,NTFS磁盤上的每個(gè)文件(包括MFT自身)至少有一映射項(xiàng)。MFT中的各項(xiàng)包含如下數(shù)據(jù)大小、時(shí)間及時(shí)間戳、安全屬性和數(shù)據(jù)位置。文件加密,是一種根據(jù)要求在操作系統(tǒng)層自動(dòng)地對(duì)寫入存儲(chǔ)介質(zhì)的數(shù)據(jù)進(jìn)行加密的技術(shù)。EFS (Encrypting File System,加密文件系統(tǒng))是 Windows 2000 及以上 Windows版本中,用于對(duì)NTFS文件系統(tǒng)卷上的文件進(jìn)行加密。EFS加密是基于公鑰策略的。在使用EFS加密一個(gè)文件或文件夾時(shí),系統(tǒng)首先會(huì)生成一個(gè)由偽隨機(jī)數(shù)組成的FEK (File Encryption Key,文件加密鑰匙),然后將利用FEK和數(shù)據(jù)擴(kuò)展標(biāo)準(zhǔn)X算法創(chuàng)建加密后的文件,并把它存儲(chǔ)到硬盤上,同時(shí)刪除未加密的原始文件。隨后系統(tǒng)利用你的公鑰加密FEK,并把加密后的FEK存儲(chǔ)在同一個(gè)加密文件中。而在訪問被加密的文件時(shí),系統(tǒng)首先利用當(dāng)前用戶的私鑰解密FEK,然后利用FEK解密出文件。在首次使用EFS時(shí),如果用戶還沒有公鑰/私鑰對(duì)(統(tǒng)稱為密鑰),則會(huì)首先生成密鑰,然后加密數(shù)據(jù)。如果登錄到了域環(huán)境中,密鑰的生成依賴于域控制器,否則依賴于本地機(jī)器。EFS加密系統(tǒng)對(duì)用戶是透明的。這也就是說,如果你加密了一些數(shù)據(jù),那么你對(duì)這些數(shù)據(jù)的訪問將是完全允許的,并不會(huì)受到任何限制。而其他非授權(quán)用戶試圖訪問加密過的數(shù)據(jù)時(shí),就會(huì)收到“訪問拒絕”的錯(cuò)誤提示。EFS加密的用戶驗(yàn)證過程是在登錄Windows時(shí)進(jìn)行的,只要登錄到Windows,就可以打開任何一個(gè)被授權(quán)的加密文件。目前已知EFS文件的恢復(fù)方法,只局限于文件沒有被刪除,或者文件所在分區(qū)沒有被格式化的情況。但是,當(dāng)一個(gè)EFS文件因?yàn)槲募徽`刪除、格式化等原因數(shù)據(jù)丟失時(shí),目前沒有任何公開的方法或者軟件能夠恢復(fù)。

發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明的目的在于提供一種EFS加密文件的恢復(fù)方法及系統(tǒng),用于恢復(fù)誤刪除、格式化等原因丟失的EFS加密文件。為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明所采取的技術(shù)方案如下一種EFS加密文件的恢復(fù)方法,包括以下步驟掃描獲取待恢復(fù)的第一 EFS加密文件的第一主文件表(MFT)所在磁盤中的位置;根據(jù)所述第一主文件表(MFT)獲取該第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)在磁盤中的位置;在NTFS文件系統(tǒng)的分區(qū)中創(chuàng)建第二 EFS加密文件,并掃描獲取該第二 EFS加密文件的第二主文件表(MFT)所在磁盤的位置,該第二 EFS加密文件的大小和所述第一 EFS加密文件大小相同;
根據(jù)所述第二主文件表(MFT)獲取該第二 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)在磁盤中的位置;讀取所述第一 EFS加密文件的加密數(shù)據(jù),并將其寫入到所述第二 EFS加密文件的加密數(shù)據(jù)所在磁盤中的位置;讀取所述第一 EFS加密文件的$EFS屬性數(shù)據(jù),并將其寫入到第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置。進(jìn)一步的,根據(jù)主文件表(MFT)獲取EFS加密文件的加密數(shù)據(jù)和EFS屬性數(shù)據(jù)在磁盤中的位置,具體是讀取EFS加密文件的主文件表(MFT),并根據(jù)該主文件表(MFT)中的未命名$DATA屬性獲取加密數(shù)據(jù)所在磁盤中的位置;讀取EFS加密文件的主文件表(MFT),并根據(jù)該主文件表(MFT)中的$EFS屬性獲取$EFS屬性數(shù)據(jù)所在磁盤中的位置。進(jìn)一步的,將所述第一 EFS加密文件的加密數(shù)據(jù)寫入到第二 EFS加密文件的加密數(shù)據(jù)所在位置時(shí),一次或多次讀寫完成。進(jìn)一步的,讀取所述第一 EFS加密文件的$EFS屬性數(shù)據(jù),并將其寫入到第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置,具體是判斷所述第一 EFS加密文件的$EFS屬性是否為常駐屬性,若是,則先將第一主文件表(MFT)中的更新序列數(shù)組(UpdateSequenceArray)的每個(gè)元素依次和第一主文件表(MFT)中每個(gè)扇區(qū)最后2個(gè)字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)交換,再讀取其$EFS屬性數(shù)據(jù);若否,則直接根據(jù)第一 EFS加密文件的$EFS屬性,讀取第一 EFS加密文件的$EFS屬性數(shù)據(jù);判斷所述第二 EFS加密文件的$EFS屬性是否為常駐屬性,若是,則將第一 EFS加密文件的$EFS屬性數(shù)據(jù)寫入第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在的位置,存盤前需先將第二主文件表(MFT)中的更新序列數(shù)組(Update SequenceArray)的每個(gè)元素依次和第二主文件表(MFT)中每個(gè)扇區(qū)最后2個(gè)字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)交換;若否,則直接將第一 EFS加密文件的$EFS屬性數(shù)據(jù)寫入第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置。進(jìn)一步的,所述創(chuàng)建的第二 EFS加密文件所在的分區(qū)與所述第一 EFS加密文件所在的分區(qū)不同。進(jìn)一步的,在向第二 EFS加密文件寫入第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)后,還包括重新啟動(dòng)計(jì)算機(jī);或者重新加載所述第二 EFS加密文件所在的磁盤分區(qū)?!NEFS加密文件的恢復(fù)系統(tǒng),該系統(tǒng)包括以下模塊第一主文件表(MFT)位置獲取模塊,掃描獲取待恢復(fù)的第一 EFS加密文件的第一主文件表(MFT)所在磁盤中的位置;
第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)獲取模塊,根據(jù)所述第一主文件表(MFT)獲取該第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)在磁盤中的位置;第二 EFS加密文件創(chuàng)建模塊,在NTFS文件系統(tǒng)的分區(qū)中創(chuàng)建第二 EFS加密文件,并掃描獲取該第二 EFS加密文件的第二主文件表(MFT)所在磁盤的位置,該第二 EFS加密文件的大小和所述第一 EFS加密文件大小相同;第二 EFS加密文件的加密數(shù)據(jù)和$EFS屬性獲取模塊,根據(jù)所述第二主文件表(MFT)獲取該第二 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)在磁盤中的位置;加密數(shù)據(jù)寫入模塊,讀取所述第一 EFS加密文件的加密數(shù)據(jù),并將其寫入到所述第二 EFS加密文件的加密數(shù)據(jù)所在磁盤中的位置;$EFS屬性數(shù)據(jù)寫入模塊,讀取所述第一 EFS加密文件的$EFS屬性數(shù)據(jù),并將其寫入到第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置?!?br> 進(jìn)一步的,所述第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)獲取模塊與第二EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)獲取模塊根據(jù)主文件表(MFT)獲取EFS加密文件的加密數(shù)據(jù)和EFS屬性數(shù)據(jù)在磁盤中的位置,具體是讀取EFS加密文件的主文件表(MFT),并根據(jù)該主文件表(MFT)中的未命名$DATA屬性獲取加密數(shù)據(jù)所在磁盤中的位置;讀取EFS加密文件的主文件表(MFT),并根據(jù)該主文件表(MFT)中的$EFS屬性獲取$EFS屬性數(shù)據(jù)所在磁盤中的位置。進(jìn)一步的,所述加密數(shù)據(jù)寫入模塊將所述第一 EFS加密文件的加密數(shù)據(jù)寫入到第
二EFS加密文件的加密數(shù)據(jù)所在位置時(shí),一次或多次讀寫完成。進(jìn)一步的,所述$EFS屬性數(shù)據(jù)寫入模塊讀取所述第一 EFS加密文件的$EFS屬性,并將其寫入到第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置,具體是判斷所述第一 EFS加密文件的$EFS屬性是否為常駐屬性,若是,則先將第一主文件表(MFT)中的更新序列數(shù)組(Update Sequence Array)的每個(gè)兀素依次和第一主文件表(MFT)中每個(gè)扇區(qū)最后2個(gè)字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)交換,再讀取其$EFS屬性數(shù)據(jù);若否,則直接根據(jù)第一 EFS加密文件的$EFS屬性,讀取第一 EFS加密文件的$EFS屬性數(shù)據(jù);判斷所述第二 EFS加密文件的$EFS屬性是否為常駐屬性,若是,則將第一 EFS加密文件的$EFS屬性數(shù)據(jù)寫入第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在的位置,存盤前需先將第二主文件表(MFT)中的更新序列數(shù)組(Update SequenceArray)的每個(gè)兀素依次和第二主文件表(MFT)中每個(gè)扇區(qū)最后2個(gè)字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)交換;若否,則直接將第一 EFS加密文件的$EFS屬性數(shù)據(jù)寫入第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置。通過本發(fā)明公開的方法和系統(tǒng),可以恢復(fù)誤刪除、格式化等原因丟失的EFS加密文件,進(jìn)而為用戶EFS加密數(shù)據(jù)丟失提供一種恢復(fù)手段。




所提供的圖片用來輔助對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定,在附圖中圖I是本發(fā)明方法對(duì)應(yīng)的流程圖;圖2是本發(fā)明系統(tǒng)對(duì)應(yīng)的框圖。
具體實(shí)施例方式實(shí)施例I :如圖I所示,本實(shí)施例公開了一種EFS加密文件的恢復(fù)方法,包括以下步驟Stepl :掃描獲取待恢復(fù)的第一 EFS加密文件的第一主文件表(MFT)所在磁盤中的位置;本步驟中所述的待恢復(fù)的第一 EFS加密文件,即是被誤刪除、格式化等原因丟失的EFS加密文件;其中,主文件表(MFT)中的各項(xiàng)包含如下數(shù)據(jù)文件名、文件大小、文件建立時(shí)間、文件修改時(shí)間、文件最后訪問時(shí)間、數(shù)據(jù)位置、$EFS屬性等;St印2 :根據(jù)所述第一主文件表(MFT)獲取該第一EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)在磁盤中的位置;iNTFS加密文件的時(shí)候,它首先會(huì)為文件設(shè)置加密標(biāo)志,然后在MFT中為文件創(chuàng)建一個(gè)$EFS屬性;加密數(shù)據(jù)和$EFS屬性數(shù)據(jù),就是本發(fā)明恢復(fù)第一 EFS加密文件的兩個(gè)重要參數(shù);
St印3 :在NTFS文件系統(tǒng)的分區(qū)中創(chuàng)建第二 EFS加密文件,并掃描獲取該第二 EFS加密文件的第二主文件表(MFT)所在磁盤的位置,該第二 EFS加密文件的大小和所述第一EFS加密文件大小相同;創(chuàng)建第二 EFS加密文件時(shí),其文件名可以和第一 EFS加密文件同名,并對(duì)該文件寫入足夠的數(shù)據(jù),以保證該文件的大小與要恢復(fù)的文件大小一致;對(duì)第二EFS加密文件進(jìn)行EFS加密處理時(shí),具體可以通過調(diào)用系統(tǒng)shell命令“cipher”來實(shí)現(xiàn);Step4 :根據(jù)所述第二主文件表(MFT)獲取該第二 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)在磁盤中的位置;St印5 :讀取所述第一 EFS加密文件的加密數(shù)據(jù),并將其寫入到所述第二 EFS加密文件的加密數(shù)據(jù)所在磁盤中的位置;St印6 :讀取所述第一 EFS加密文件的$EFS屬性數(shù)據(jù),并將其寫入到第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置;Step7 :為了讓文件系統(tǒng)識(shí)別寫入第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)后的第二 EFS加密文件,可能需要重新啟動(dòng)計(jì)算機(jī),或者重新加載所述第二 EFS加密文件所在的磁盤分區(qū)。其中,根據(jù)主文件表(MFT)獲取EFS加密文件的加密數(shù)據(jù)和EFS屬性數(shù)據(jù)在磁盤中的位置,具體是讀取EFS加密文件的主文件表(MFT),并根據(jù)該主文件表(MFT)中的未命名$DATA屬性獲取加密數(shù)據(jù)所在磁盤中的位置;讀取EFS加密文件的主文件表(MFT),并根據(jù)該主文件表(MFT)中的$EFS屬性獲取$EFS屬性數(shù)據(jù)所在磁盤中的位置。其中,將所述第一 EFS加密文件的加密數(shù)據(jù)寫入到第二 EFS加密文件的加密數(shù)據(jù)所在位置時(shí),一次或多次讀寫完成。如果文件A的數(shù)據(jù)量很大,不足以一次讀寫完成,可再重復(fù)多次讀寫,以保證第一 EFS加密文件的所有加密數(shù)據(jù)都被寫入到第二 EFS加密文件的加密數(shù)據(jù)所在磁盤位置中。其中,讀取所述第一 EFS加密文件的$EFS屬性數(shù)據(jù),并將其寫入到第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置,具體是判斷所述第一 EFS加密文件的$EFS屬性是否為常駐屬性,若是,則先將第一主文件表(MFT)中的更新序列數(shù)組(Update Sequence Array)的每個(gè)元素依次和第一主文件表(MFT)中每個(gè)扇區(qū)最后2個(gè)字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)交換,再讀取其$EFS屬性數(shù)據(jù);若否,則直接根據(jù)第一 EFS加密文件的$EFS屬性,讀取第一 EFS加密文件的$EFS屬性數(shù)據(jù);
判斷所述第二 EFS加密文件的$EFS屬性是否為常駐屬性,若是,則將第一 EFS加密文件的$EFS屬性數(shù)據(jù)寫入第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在的位置,存盤前需先將第二主文件表(MFT)中的更新序列數(shù)組(Update Sequence Array)的每個(gè)元素依次和第二主文件表(MFT)中每個(gè)扇區(qū)最后2個(gè)字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)交換;若否,則直接將第一 EFS加密文件的$EFS屬性數(shù)據(jù)寫入第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置。其中,為保證恢復(fù)成功率,創(chuàng)建的第二 EFS加密文件所在的分區(qū)與所述第一 EFS加密文件所在的分區(qū)不同,以免因?yàn)閿?shù)據(jù)覆蓋造成恢復(fù)失敗。實(shí)施例2 如圖2所示,本實(shí)施例公開了一種與實(shí)施例I相對(duì)應(yīng)的EFS加密文件的恢復(fù)系統(tǒng),該系統(tǒng)包括以下模塊
第一主文件表(MFT)位置獲取模塊1,掃描獲取待恢復(fù)的第一 EFS加密文件的第一主文件表(MFT)所在磁盤中的位置;第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)獲取模塊2,根據(jù)所述第一主文件表(MFT)獲取該第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)在磁盤中的位置;第二 EFS加密文件創(chuàng)建模塊3,在NTFS文件系統(tǒng)的分區(qū)中創(chuàng)建第二 EFS加密文件,并掃描獲取該第二 EFS加密文件的第二主文件表(MFT)所在磁盤的位置,該第二 EFS加密文件的大小和所述第一 EFS加密文件大小相同;第二 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)獲取模塊4,根據(jù)所述第二主文件表(MFT)獲取該第二 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)在磁盤中的位置;加密數(shù)據(jù)寫入模塊,讀取所述第一 EFS加密文件的加密數(shù)據(jù)5,并將其寫入到所述第二 EFS加密文件的加密數(shù)據(jù)所在磁盤中的位置;$EFS屬性數(shù)據(jù)寫入模塊6,讀取所述第一 EFS加密文件的$EFS屬性數(shù)據(jù),并將其寫入到第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置。其中,所述第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)獲取模塊與第二 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)獲取模塊根據(jù)主文件表(MFT)獲取EFS加密文件的加密數(shù)據(jù)和EFS屬性數(shù)據(jù)在磁盤中的位置,具體是讀取EFS加密文件的主文件表(MFT),并根據(jù)該主文件表(MFT)中的未命名$DATA屬性獲取加密數(shù)據(jù)所在磁盤中的位置;讀取EFS加密文件的主文件表(MFT),并根據(jù)該主文件表(MFT)中的$EFS屬性獲取$EFS屬性數(shù)據(jù)所在磁盤中的位置。其中,所述加密數(shù)據(jù)寫入模塊將所述第一 EFS加密文件的加密數(shù)據(jù)寫入到第二EFS加密文件的加密數(shù)據(jù)所在位置時(shí),一次或多次讀寫完成。其中,所述$EFS屬性數(shù)據(jù)寫入模塊讀取所述第一 EFS加密文件的$EFS屬性數(shù)據(jù),并將其寫入到第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置,具體是判斷所述第一 EFS加密文件的$EFS屬性是否為常駐屬性,若是,則先將第一主文件表(MFT)中的更新序列數(shù)組(Update Sequence Array)的每個(gè)元素依次和第一主文件表(MFT)中每個(gè)扇區(qū)最后2個(gè)字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)交換,再讀取其$EFS屬性數(shù)據(jù);若否,則直接根據(jù)第一 EFS加密文件的$EFS屬性,讀取第一 EFS加密文件的$EFS屬性數(shù)據(jù);判斷所述第二 EFS加密文件的$EFS屬性是否為常駐屬性,若是,則將第一 EFS加密文件的$EFS屬性數(shù)據(jù)寫入第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在的位置,存盤前需先將第二主文件表(MFT)中的更新序列數(shù)組(Update Sequence Array)的每個(gè)元素依次和第二主文件表(MFT)中每個(gè)扇區(qū)最后2個(gè)字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)交換;若否,則直接將第一 EFS加密文件的$EFS屬性數(shù)據(jù)寫入第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置。其中,所述創(chuàng)建的第二 EFS加密文件所在的分區(qū)與所述第一 EFS加密文件所在的分區(qū)不同。其中,在向第二 EFS加密文件寫入第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)后,還包括重新啟動(dòng)計(jì)算機(jī)或者重新加載所述第二 EFS加密文件所在的磁盤分區(qū)。由于本實(shí)施例的系統(tǒng)和實(shí)施例I的方法完全對(duì)應(yīng),所以對(duì)于該系統(tǒng)的詳細(xì)說明就不再累述。以上實(shí)施例公開的方法和系統(tǒng),通過創(chuàng)建一個(gè)新的大小相同的EFS加密文件,再通過將需恢復(fù)的EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)與新建的EFS加密文件的加 密數(shù)據(jù)和$EFS屬性數(shù)據(jù)進(jìn)行替換,進(jìn)而使得新建的EFS加密文件和需恢復(fù)的EFS加密文件相同,從而恢復(fù)誤刪除、格式化等原因丟失的EFS加密文件。以上詳細(xì)描述了本發(fā)明的較佳具體實(shí)施例,應(yīng)當(dāng)理解,本領(lǐng)域的普通技術(shù)無需創(chuàng)造性勞動(dòng)就可以根據(jù)本發(fā)明的構(gòu)思做出諸多修改和變化。因此,凡本技術(shù)領(lǐng)域中技術(shù)人員依本發(fā)明構(gòu)思在現(xiàn)有技術(shù)基礎(chǔ)上通過邏輯分析、推理或者根據(jù)有限的實(shí)驗(yàn)可以得到的技術(shù)方案,均應(yīng)該在由本權(quán)利要求書所確定的保護(hù)范圍之中。
權(quán)利要求
1.一種EFS加密文件的恢復(fù)方法,其特征在于包括以下步驟 掃描獲取待恢復(fù)的第一 EFS加密文件的第一主文件表(MFT)所在磁盤中的位置; 根據(jù)所述第一主文件表(MFT)獲取該第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)在磁盤中的位置; 在NTFS文件系統(tǒng)的分區(qū)中創(chuàng)建第二 EFS加密文件,并掃描獲取該第二 EFS加密文件的第二主文件表(MFT)所在磁盤的位置,該第二 EFS加密文件的大小和所述第一 EFS加密文件大小相同; 根據(jù)所述第二主文件表(MFT)獲取該第二 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)在磁盤中的位置; 讀取所述第一 EFS加密文件的加密數(shù)據(jù),并將其寫入到所述第二 EFS加密文件的加密數(shù)據(jù)所在磁盤中的位置; 讀取所述第一 EFS加密文件的$EFS屬性數(shù)據(jù),并將其寫入到第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置。
2.根據(jù)權(quán)利要求I所述的EFS加密文件的恢復(fù)方法,其特征在于,根據(jù)主文件表(MFT)獲取EFS加密文件的加密數(shù)據(jù)和EFS屬性數(shù)據(jù)在磁盤中的位置,具體是 讀取EFS加密文件的主文件表(MFT),并根據(jù)該主文件表(MFT)中的未命名$DATA屬性獲取加密數(shù)據(jù)所在磁盤中的位置; 讀取EFS加密文件的主文件表(MFT),并根據(jù)該主文件表(MFT)中的$EFS屬性獲取$EFS屬性數(shù)據(jù)所在磁盤中的位置。
3.根據(jù)權(quán)利要求I所述的EFS加密文件的恢復(fù)方法,其特征在于 將所述第一 EFS加密文件的加密數(shù)據(jù)寫入到第二 EFS加密文件的加密數(shù)據(jù)所在位置時(shí),一次或多次讀寫完成。
4.根據(jù)權(quán)利要求I所述的EFS加密文件的恢復(fù)方法,其特征在于,讀取所述第一EFS加密文件的$EFS屬性數(shù)據(jù),并將其寫入到第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置,具體是 判斷所述第一 EFS加密文件的$EFS屬性是否為常駐屬性,若是,則先將第一主文件表(MFT)中的更新序列數(shù)組(Update Sequence Array)的每個(gè)元素依次和第一主文件表(MFT)中每個(gè)扇區(qū)最后2個(gè)字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)交換,再讀取其$EFS屬性數(shù)據(jù);若否,則直接根據(jù)第一 EFS加密文件的$EFS屬性,讀取第一 EFS加密文件的$EFS屬性數(shù)據(jù); 判斷所述第二 EFS加密文件的$EFS屬性是否為常駐屬性,若是,則將第一 EFS加密文件的$EFS屬性數(shù)據(jù)寫入第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在的位置,存盤前需先將第二主文件表(MFT)中的更新序列數(shù)組(Update Sequence Array)的每個(gè)元素依次和第二主文件表(MFT)中每個(gè)扇區(qū)最后2個(gè)字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)交換;若否,則直接將第一 EFS加密文件的$EFS屬性數(shù)據(jù)寫入第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置。
5.根據(jù)權(quán)利要求I所述的EFS加密文件的恢復(fù)方法,其特征在于 所述創(chuàng)建的第二 EFS加密文件所在的分區(qū)與所述第一 EFS加密文件所在的分區(qū)不同。
6.根據(jù)權(quán)利要求I所述的EFS加密文件的恢復(fù)方法,其特征在于,在向第二EFS加密文件寫入第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)后,還包括 重新啟動(dòng)計(jì)算機(jī);或者重新加載所述第二 EFS加密文件所在的磁盤分區(qū)。
7.—種EFS加密文件的恢復(fù)系統(tǒng),其特征在于該系統(tǒng)包括以下模塊 第一主文件表(MFT)位置獲取模塊,掃描獲取待恢復(fù)的第一 EFS加密文件的第一主文件表(MFT)所在磁盤中的位置; 第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)獲取模塊,根據(jù)所述第一主文件表(MFT)獲取該第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)在磁盤中的位置; 第二 EFS加密文件創(chuàng)建模塊,在NTFS文件系統(tǒng)的分區(qū)中創(chuàng)建第二 EFS加密文件,并掃描獲取該第二 EFS加密文件的第二主文件表(MFT)所在磁盤的位置,該第二 EFS加密文件的大小和所述第一 EFS加密文件大小相同; 第二 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)獲取模塊,根據(jù)所述第二主文件表(MFT)獲取該第二 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)在磁盤中的位置; 加密數(shù)據(jù)寫入模塊,讀取所述第一 EFS加密文件的加密數(shù)據(jù),并將其寫入到所述第二EFS加密文件的加密數(shù)據(jù)所在磁盤中的位置; $EFS屬性數(shù)據(jù)寫入模塊,讀取所述第一 EFS加密文件的$EFS屬性數(shù)據(jù),并將其寫入到第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置。
8.根據(jù)權(quán)利要求7所述的EFS加密文件的恢復(fù)系統(tǒng),其特征在于 所述第一 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)獲取模塊與第二 EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)獲取模塊根據(jù)主文件表(MFT)獲取EFS加密文件的加密數(shù)據(jù)和EFS屬性數(shù)據(jù)在磁盤中的位置,具體是 讀取EFS加密文件的主文件表(MFT),并根據(jù)該主文件表(MFT)中的未命名$DATA屬性獲取加密數(shù)據(jù)所在磁盤中的位置; 讀取EFS加密文件的主文件表(MFT),并根據(jù)該主文件表(MFT)中的$EFS屬性獲取$EFS屬性數(shù)據(jù)所在磁盤中的位置。
9.根據(jù)權(quán)利要求7所述的EFS加密文件的恢復(fù)系統(tǒng),其特征在于 所述加密數(shù)據(jù)寫入模塊將所述第一 EFS加密文件的加密數(shù)據(jù)寫入到第二 EFS加密文件的加密數(shù)據(jù)所在位置時(shí),一次或多次讀寫完成。
10.根據(jù)權(quán)利要求7所述的EFS加密文件的恢復(fù)系統(tǒng),其特征在于 所述$EFS屬性數(shù)據(jù)寫入模塊讀取所述第一 EFS加密文件的$EFS屬性數(shù)據(jù),并將其寫入到第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置,具體是 判斷所述第一 EFS加密文件的$EFS屬性是否為常駐屬性,若是,則先將第一主文件表(MFT)中的更新序列數(shù)組(Update Sequence Array)的每個(gè)元素依次和第一主文件表(MFT)中每個(gè)扇區(qū)最后2個(gè)字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)交換,再讀取其$EFS屬性數(shù)據(jù);若否,則直接根據(jù)第一EFS加密文件的$EFS屬性,讀取第一 EFS加密文件的$EFS屬性數(shù)據(jù); 判斷所述第二 EFS加密文件的$EFS屬性是否為常駐屬性,若是,則將第一 EFS加密文件的$EFS屬性數(shù)據(jù)寫入第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在的位置,存盤前需先將第二主文件表(MFT)中的更新序列數(shù)組(Update Sequence Array)的每個(gè)元素依次和第二主文件表(MFT)中每個(gè)扇區(qū)最后2個(gè)字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)交換;若否,則直接將第一 EFS加密文件的$EFS屬性數(shù)據(jù)寫入第二 EFS加密文件的$EFS屬性數(shù)據(jù)所在磁盤中的位置。
全文摘要
本發(fā)明屬于文件恢復(fù)技術(shù)領(lǐng)域,具體涉及一種EFS加密文件的恢復(fù)方法及系統(tǒng)。本發(fā)明通過創(chuàng)建一個(gè)新的大小相同的EFS加密文件,再通過將需恢復(fù)的EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)與新建的EFS加密文件的加密數(shù)據(jù)和$EFS屬性數(shù)據(jù)進(jìn)行替換,進(jìn)而使得新建的EFS加密文件和需恢復(fù)的EFS加密文件相同,從而恢復(fù)誤刪除、格式化等原因丟失的EFS加密文件。
文檔編號(hào)G06F11/14GK102945194SQ20121044548
公開日2013年2月27日 申請(qǐng)日期2012年11月8日 優(yōu)先權(quán)日2012年11月8日
發(fā)明者涂彥暉 申請(qǐng)人:珠海市彥安科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1