[发明专利]一种适用于非整型主键与空闲块合并的SQLite数据恢复方法有效
申请号: | 201710032669.2 | 申请日: | 2017-01-16 |
公开(公告)号: | CN106844607B | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 杜江;李明建 | 申请(专利权)人: | 重庆邮电大学 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/28;G06F16/22;G06F11/14 |
代理公司: | 重庆市恒信知识产权代理有限公司 50102 | 代理人: | 刘小红 |
地址: | 400065 重*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明请求保护一种适用于非整型主键与空闲块合并的SQLite数据恢复方法,涉及计算机取证领域,包括步骤:1、从根页与文件头出发,搜集所有空闲块与空闲页。2、分析整型主键与非整型主键的单元布局区别与每个字节的意义的区别,暂假定空闲块包含一个单元,计算被覆盖的类型的信息,解析类型信息与数据域,进行数据恢复。3、对于不能通过步骤二的空闲块,认定其包含多个单元。则基于拆分与验证,预估计存在于空闲块中的单元长度为4到空闲块长度。对估计的每个值均利用单个空闲块提取模块进行判断。4、为应对B+tree重组织导致空闲块减少的情况,从步骤一中收集到的空闲页中提取数据。本发明提供的方法可以容易的从SQLite3数据库文件中恢复出被删除的数据,为后续电子取证工作提供数据。 | ||
搜索关键词: | 一种 适用于 整型 主键 空闲 合并 sqlite 数据 恢复 方法 | ||
【主权项】:
一种适用于非整型主键与空闲块合并的SQLite数据恢复方法,其特征在于,包括以下步骤:步骤1:获取欲恢复数据的SQLite文件,根据其包含的系统表sqlite_master确定欲恢复数据表的根页号以及表的字段结构信息,从根页与文件头出发,搜集所有空闲块与空闲页;步骤2:假设每个空闲块在被删除之前包含一条被删除的数据库记录的单元,分析整型主键与非整型主键的单元布局的不同与每个字节的意义,计算被覆盖的字段类型信息,解析类型信息与数据域,通过估计与验证的方法进行数据恢复,判断单个空闲块是否能恢复出有效数据,若可以,则根据Type信息提取数据域数据,根据每个Type的意义对数据域信息进行解析,提取数据;步骤3:对于不能通过步骤2恢复出有效数据的空闲块,认定其包含多个被删除的单元,则基于拆分与验证法得出临时空闲块集,判断临时空闲块能否恢复出有效数据,若能则删除所有兄弟临时空闲块,然后将数据加入恢复结果集,继续判断下一个临时空闲块;否则继续判断下一个临时空闲块,直到临时空闲块集合为空;步骤4:通过空闲页链表获得空闲页集合,遍历每个空闲页,将该页所有的存储数据库记录的单元加入单元集合,对于单元集合中的每个单元,根据Type信息解析数据域获得数据,加入恢复结果集。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710032669.2/,转载请声明来源钻瓜专利网。
- 上一篇:一种整洁卫生的液体挤压泵
- 下一篇:需要连续按动开启的容器盖