【技术实现步骤摘要】
一种基于日志与文件结构的手机数据恢复方法
[0001]本专利技术涉及电子取证与数据恢复领域,具体的说,涉及了一种基于日志与文件结构的手机数据恢复方法。
技术介绍
[0002]随着智能手机在法律案件中作为证据的场景增多,犯案人员的反取证意识也越来越强,在作案后往往会删除重要数据线索,使得取证人员获取到完整的办案线索越来越难,取证的工作量也同时与日俱增。
[0003]智能手机上的数据主要存储在SQLite数据库中,在SQLite数据库的管理机制中,数据记录被删除后,并没有被真正的物理删除,仅将其标记为空闲区,等待再次被使用。因此只要未进行更新或插入操作,残留数据一般会保留一段时间,但如果进行数据记录更新的话,就难以被恢复或完全恢复。
[0004]目前市面上的手机取证工具中使用的数据恢复技术大多恢复效率低、扩展性差、性能不稳定,极大地影响取证人员的办案效率。如何能够恢复删除数据变得越来越值得关注。
[0005]SQLite数据库删除恢复的难点在于,如何从数据库相关文件中寻找残留的数据库记录痕迹,并对残留数据进行分析、整合,进而实现数据库删除记录的恢复。
[0006]为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
技术实现思路
[0007]本专利技术提供了一种基于日志与文件结构的手机数据恢复方法,针对现有SQLite数据恢复技术恢复效率低、扩展性差、性能不稳定的问题,综合分析所有可能保存删除数据碎片的文件,细粒度的对所有文件进行数据恢复。
[0008]为 ...
【技术保护点】
【技术特征摘要】
1.一种基于日志与文件结构的手机数据恢复方法,其特征在于,包括以下步骤:步骤1:获取预恢复数据的SQLite数据库文件、日志文件,根据文件的前16个字节是否为“0X53514C69746520666F726D6174203300”,判断此文件是否为数据库文件,若前四个字节为“0X377F0682”,则此文件为
‑
wal日志文件,否则为
‑
journal日志文件;步骤2:根据不同的文件类型,结构化读取页数据,提取文件中的所有叶子页/空闲块,解析各个叶子页/空闲块中的Type字段和Data字段,通过估计与验证的方法进行数据解析;步骤3:遍历叶子页/空闲块,直到下一个叶子页/空闲块为空,根据类型信息解析每个单元的数据,并将解析数据写入临时文件。2.根据权利要求1所述的基于日志与文件结构的手机数据恢复方法,其特征在于,所述步骤1中,若识别文件为日志文件,其数据恢复流程为:步骤1.1:如果识别文件为
‑
wal文件,按照
‑
wal日志结构进行解析,保存至帧集合中,然后,分别将帧集合中的帧依次取出,将各个帧头的salt
‑
1字段值与文件头部中salt
‑
1字段值进行比较,如果帧头的salt
‑
1字段值比文件头部中salt
‑
1字段值小1,则将根据数据库页的单元结构对该帧进行解析,获得Type以及Data数据,将获得的数据写入临时文件;步骤1.2:如果识别文件为
‑
journal文件,在Android 4.1.1及之后的版本,每次数据库事务结束后,回滚日志文件仍然保留,仅清空头部标识失效,根据回滚日志文件结构,日志文件的每个记录的最后4个字节均为校验和,所以针对日志头被清空的情况,逆向分析校验和计算方式,根据校验和对日志文件进行数据分组,提取回滚日志文件中的数据,随后在当前记录的页中每200字节取一个字节,若默认页大小为4096,则选出20个字节;将所选字节的值与校验和初始值相加,最后截取为32位无符号整数得到RJPR最后4字节的校验和,具体计算公式为:计算公式为:获取校验和之后,根据校验和对
‑
journal日志文件进行数据分组,分别分析提取每个分组中的数据,将提取数据写入临时文件。3.根据权利要求1所述的基于日志与文件结构的手机数据恢复方法,其特征在于,所述步骤2中,对于解析SQLite数据库文件删除数据的步骤如下:步骤2.1:根据数据库Page1中存储的sqlite_master系统表,在相应的数据页中读取相关的字段信息:由字段1确定数据表,由字段2确定表名TableName,由字段4...
【专利技术属性】
技术研发人员:梁斌,张有为,史国恩,刘娟,梁芳,支敏,刘波,刘振杰,胡建峰,
申请(专利权)人:河南华正通信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。