一种数据恢复和取证方法

文档序号:10552786阅读:486来源:国知局
一种数据恢复和取证方法
【专利摘要】本发明公开了一种数据恢复和取证方法,首先从存储数据的数据库结构入手,确定目标数据的结构特征;其次,参考未被删除的数据记录,确定部分搜索线索;再次,在未被删除的和通过结构特征搜索到数据记录的记录内容中,搜索特征点;最后,综合上述三种的数据特征和线索,恢复被删除的记录。本发明能够提高数据恢复率,相比目前市场上的同类软件,恢复率一般可以提高10?20%左右。而且采用多种特征综合的技术,恢复数据的错误率也大幅下降。
【专利说明】
一种数据恢复和取证方法
技术领域
[0001]本发明涉及一种数据恢复方法,具体是一种数据恢复和取证方法。
【背景技术】
[0002]目前市场上的手机信息内容恢复软件不多,而且由于保密的原因,技术是不透明的。但大多数软件采用单一技术性技术,或者数据恢复率差,或者数据恢复错误大,因而数据恢复的效果参差不齐。

【发明内容】

[0003]本发明的目的在于提供一种数据恢复和取证方法,以解决上述【背景技术】中提出的问题。
[0004]为实现上述目的,本发明提供如下技术方案:
一种数据恢复和取证方法,首先从存储数据的数据库结构入手,确定目标数据的结构特征;其次,参考未被删除的数据记录,确定部分搜索线索;再次,在未被删除的和通过结构特征搜索到数据记录的记录内容中,搜索特征点;最后,综合上述三种的数据特征和线索,恢复被删除的记录。
[0005]作为本发明进一步的方案:SQLITE数据库数据恢复的基础是单表恢复,首先根据数据库表的定义语句DDL并参考SQLITE数据库的存储规范自动采集单表的数据结构特征。SQLITE数据库表的META信息是以DDL语句形式直接存贮在隐藏的数据库表sqlitejnaster中,读取目标表的DDL语句,由于表示SQLITE数据库字段不同类型的值是不同的,因此解析DDL就可以获得单表的数据结构特征;其次是遍历整个数据库页面,搜索符合目标数据结构特征的数据块;对于搜索到的数据块,还需要根据数据本身的内容特征进行过滤,滤除掉大量的无意义的数据。
[0006]作为本发明再进一步的方案:必须根据数据之间的关系以及内容推断不同表记录数据之间的关系。
[0007]与现有技术相比,本发明的有益效果是:本发明能够提高数据恢复率,相比目前市场上的同类软件,恢复率一般可以提高10-20%左右。而且采用多种特征综合的技术,恢复数据的错误率也大幅下降。
【附图说明】
[0008]图1为数据恢复和取证方法的SQLITE数据库数据恢复的流程图;
图2为数据恢复和取证方法的基于特定应用的数据恢复流程图。
【具体实施方式】
[0009]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0010]请参阅图1?2,本发明实施例中,一种数据恢复和取证方法,首先从存储数据的数据库结构入手,确定目标数据的结构特征;其次,参考未被删除的数据记录,确定部分搜索线索;再次,在未被删除的和通过结构特征搜索到数据记录的记录内容中,搜索特征点;最后,综合上述三种的数据特征和线索,恢复被删除的记录;SQLITE数据库数据恢复的基础是单表恢复,首先根据数据库表的定义语句DDL并参考SQLITE数据库的存储规范自动采集单表的数据结构特征。SQLITE数据库表的META信息是以DDL语句形式直接存贮在隐藏的数据库表sqlitejnaster中,读取目标表的DDL语句,由于表示SQLITE数据库字段不同类型的值是不同的,因此解析DDL就可以获得单表的数据结构特征;其次是遍历整个数据库页面,搜索符合目标数据结构特征的数据块;对于搜索到的数据块,还需要根据数据本身的内容特征进行过滤,滤除掉大量的无意义的数据;必须根据数据之间的关系以及内容推断不同表记录数据之间的关系。
[0011]本发明的工作原理是:本发明首先从存储数据的数据库结构入手,确定目标数据的结构特征。由于大多数应用的数据是采用关联存储的,因此,一般需要确定多个数据库表记录的结构特征。其次,参考未被删除的数据记录,确定部分搜索线索。再次,在未被删除的和通过结构特征搜索到数据记录的记录内容中,搜索特征点。最后,综合上述三种的数据特征和线索,恢复被删除的记录。
[0012]图1为本发明的基本的数据恢复流程:SQLITE数据库数据恢复的基础是单表恢复,首先根据数据库表的定义语句DDL并参考SQLITE数据库的存储规范自动采集单表的数据结构特征。SQLITE数据库表的META信息是以DDL语句形式直接存贮在隐藏的数据库表sqlite_master中,读取目标表的DDL语句,由于表示SQLITE数据库字段不同类型的值是不同的,因此解析DDL就可以获得单表的数据结构特征。其次是遍历整个数据库页面,搜索符合目标数据结构特征的数据块。在这个过程中,必须妥善处理SQLITE数据库记录主键复用记录号以及在删除记录时抹去记录头部4个字节造成的特征丢失问题。对于搜索到的数据块,还需要根据数据本身的内容特征进行过滤,滤除掉大量的无意义的数据。比如,短信数据可以根据收发短信的电话号码格式是否符合而进行过滤。
[0013]请参阅图2,基于特定应用的数据恢复流程应用的数据库方案Schema往往包含多个表以及它们之间的关联关系。仅仅恢复其中一张表的数据或几张表的数据,并不能得到数据的原貌,还必须根据数据之间的关系以及内容推断不同表记录数据之间的关系,下面以手机微信数据恢复为例:
A.联系人以及聊天室恢复;
1.读取未被删除的联系人;
2.搜索被删除的联系人;
3.合并联系人;
B.数据库表的恢复;
微信数据在本地的存储策略是每个聊天室或联系人的会话保存在一张单独的微信表中,微信表以”Chat_〈联系人用户名MD5码〉”的方式命名,聊天数据本身并不包含聊天室和会话人的信息,只能根据以其它信息进行推断。
[0014]1.读取未被删除的微信表以及BTREE根节点页码;2.读取已被删除的微信表以及BTREE根节点页码;3.合并未被删除的和已被删除的微信表;收集每个微信表的叶节点页码,形成映射关系;
C.聊天数据恢复
1.搜索已删除的聊天数据;
2.记录聊天记录的位置信息;
3.从聊天内容中提取能够确定聊天室和会话朋友的数据;
D.确定聊天数据所在的聊天室和会话朋友;
以一定的算法综合判断聊天数据所在的聊天室和会话朋友。
[0015]对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0016]此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
【主权项】
1.一种数据恢复和取证方法,其特征在于,首先从存储数据的数据库结构入手,确定目标数据的结构特征;其次,参考未被删除的数据记录,确定部分搜索线索;再次,在未被删除的和通过结构特征搜索到数据记录的记录内容中,搜索特征点;最后,综合上述三种的数据特征和线索,恢复被删除的记录。2.根据权利要求1所述的数据恢复和取证方法,其特征在于,SQLITE数据库数据恢复的基础是单表恢复,首先根据数据库表的定义语句DDL并参考SQLITE数据库的存储规范自动采集单表的数据结构特征;SQLITE数据库表的META信息是以DDL语句形式直接存贮在隐藏的数据库表sqlitejnaster中,读取目标表的DDL语句,由于表示SQLITE数据库字段不同类型的值是不同的,因此解析DDL就可以获得单表的数据结构特征;其次是遍历整个数据库页面,搜索符合目标数据结构特征的数据块;对于搜索到的数据块,还需要根据数据本身的内容特征进行过滤,滤除掉大量的无意义的数据。3.根据权利要求1所述的数据恢复和取证方法,其特征在于,必须根据数据之间的关系以及内容推断不同表记录数据之间的关系。
【文档编号】G06F11/14GK105912423SQ201610212077
【公开日】2016年8月31日
【申请日】2016年4月7日
【发明人】郑侃炜, 吴德有, 李洋溢, 孔梦圆
【申请人】上海互盾信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1