(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(10)申请公布号 CN 106095808 A
(43)申请公布日 2016.11.09
(21)申请号 CN201610375289.4
(22)申请日 2016.05.30
(71)申请人 厦门市美亚柏科信息股份有限公司
    地址 361000 福建省厦门市软件园二期观日路12号102-402单元
(72)发明人 沈长达 邵炳阳 吴少华 黄志炜 申强
(74)专利代理机构 厦门市精诚新创知识产权代理有限公司
    代理人 何家富
(51)Int.CI
      G06F17/30
      G06F11/14
                                                                  权利要求说明书 说明书 幅图
(54)发明名称
      一种MDB文件碎片恢复的方法和装置
(57)摘要
      本发明属于信息安全与计算机应用技术领域,具体涉及一种MDB文件碎片恢复的方法和装置。该方法包括以下步骤,S1,通过MDB文件的头部特征,获取相应的头部文件碎片集合H;S2,解析MSysObjects系统表格数据页,得到所有表格的定义页的索引;S3,头部文件碎片H
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
1.一种MDB文件碎片恢复的方法,其特征在于:它包括以下步骤,
S1,通过MDB文件的头部特征,获取相应的头部文件碎片集合H={H<Sub>1</Sub>,H<Sub>2</Sub>,...,H<Sub>k</Sub>},k为头部文件碎片总数,定义头部文件碎片集合H中的元素为H<Sub>i</Sub>,i=1、或2、......或k,每一H<Sub>i</Sub>包括该头部中文件已用页面分布图中解析的文件页数PageCount和该头部文件碎片包含页信息的集合P={P<Sub>1</Sub>,P<Sub>2</Sub>,...,P<Sub>t</Sub>},t为页信息的总数,定义页信息的集合P中的元素为P<Sub>j</Sub>,j=1、或2、......或t,每一P<Sub>j</Sub>包括页索引Index、页签名PageFlag、页的定义页的偏移或者是下一个页的偏移TDEFPionter、该页在磁盘的位置Offset和页是否被解析的标识isFind;
S2,解析MSysObjects系统表格数据页,得到所有表格的定义页的索引;
S3,头部文件碎片H<Sub>i</Sub>碎片页的匹配,以及解析不同的页得到相关联的页索引;
S4,判断头部文件碎片H<Sub>i</Sub>是否完整,若不完整则转到步骤S3,若完整,则转到步骤S5;
S5,根据MDB文件内部结构判断文件是否完整,如果完整转到步骤S8,否则转到步骤S6,
S6,从空闲页中是否存在符合MDB文件结构的页,如果有则转到步骤S7,否则转到步骤S8;
S7,将符合MDB文件结构的页合并到头部文件碎片H<Sub>i</Sub>中,转到步骤S5;
S8,尾部处理,输出恢复文件。
2.如权利要求1所述的MDB文件碎片恢复的方法,其特征在于:所述步骤S1中MDB文件的头部特征为Standard>j</Sub>={Index=ID,PageFlag=0x02,TDEFPointer=0,Offset=NULL,isFind=FALSE}数目和该MDB文件中包含表格的数目相同。
4.如权利要求3所述的MDB文件碎片恢复的方法,其特征在于:所述步骤S3中头部文件碎片H<Sub>i</Sub>碎片页的匹配具体是:碎片页的页签名PageFlag、页索引Index以及页的定义页的偏移或者是下一个页的偏移TDEFPointer,与步骤S2的匹配,且该碎片页不属于任何的头部文件碎片,则将该碎片页加入到头部文件碎片H<Sub>i</Sub>中。
5.如权利要求1所述的MDB文件碎片恢复的方法,其特征在于:所述步骤S4中判断头部文件碎片H<Sub>i</Sub>是否完整的方法为:判断文件页数PageCount是否为步骤S1中解析的值。
6.一种MDB文件碎片恢复的装置,其特征在于:它包括,
头部文件碎片集合获取单元,通过MDB文件的头部特征,获取相应的头部文件碎片集合H={H<Sub>1</Sub>,H<Sub>2</Sub>,...,H<Sub>k</Sub>},k为头部文件碎片总数,定义头部文件碎片集合H中的元素为H<Sub>i</Sub>,i=1、或2、......或k,每一H<Sub>i</Sub>包括该头部中文件已用页面分布图中解析的文件页数PageCount和该头部文件碎片包含页信息的集合P={P<Sub>1</Sub>,P<Sub>2</Sub>,...,P<Sub>t</Sub>},t为页信息的总数,定义页信息的集合P中的元素为P<Sub>j</Sub>,j=1、或2、......或t,每一P<Sub>j</Sub>包括页索引Index、页签名PageFlag、页的定义页的偏移或者是下一个页的偏移TDEFPionter、该页在磁盘的位
置Offset和页是否被解析的标识isFind;
系统表格数据页解析单元,解析MSysObjects系统表格数据页,得到所有表格的定义页的索引;
匹配单元,头部文件碎片H<Sub>i</Sub>碎片页的匹配,以及解析不同的页得到相关联的页索引;
获取完整MDB文件单元,从空闲页中查符合MDB文件结构的页,并将其并到头部文件碎片H<Sub>i</Sub>中;
恢复单元,对完整的MDB文件进行尾部处理,输出恢复文件。
7.如权利要求6所述的MDB文件碎片恢复的装置,其特征在于:所述头部文件碎片集合获取单元中MDB文件的头部特征为Standard>j</Sub>={Index=ID,PageFlag=0x02,TDEFPointer=0,Offset=NULL,isFind=FALSE}数目和该MDB文件中包含表格的数目相同。回收站清空的文件怎么恢复
9.如权利要求8所述的MDB文件碎片恢复的方法,其特征在于:所述匹配单元中文件H<Sub>i</
Sub>碎片页的匹配具体是:碎片页的页签名PageFlag、页索引Index以及页的定义页的偏移或者是下一个页的偏移TDEFPointer,与系统表格数据页解析单元的匹配,且该碎片页不属于任何的头部文件碎片,则将该碎片页加入到头部文件碎片H<Sub>i</Sub>中。
10.如权利要求6所述的MDB文件碎片恢复的方法,其特征在于:所述获取完整MDB文件单元中判断头部文件碎片H<Sub>i</Sub>是否完整的方法为判断文件页数PageCount是否为头部文件碎片集合获取单元中解析的值。
说  明  书
技术领域
本发明属于信息安全与计算机应用技术领域,具体涉及一种MDB文件碎片恢复的方法和装置。
背景技术
Microsoft Access软件产生的数据库文件(扩展名为Microsoft Database,简称MDB),由于经常
做写入操作,其产生碎片的机率相当高。因其对数据操作的方便性,常用在一些中小型程序中。当文件不连续即存在碎片的时候,恢复出来的文件存在着打不开或者数据不完整的情况。传统的头部-尾部特征的数据恢复方法是一种通用的方法,该传统方法忽略了一些MDB文件格式自身的一些内部结构信息,从而使得恢复效果不理想。从ACCESS的应用范围来看,MDB文件的碎片恢复研究具有很大的价值。