论文部分内容阅读
移动应用使用的SQLite数据库中包含了大量私人信息,这些信息在刑侦领域的案件侦破和电子取证中往往起到了至关重要的作用。本文主要针对智能手机应用的删除数据恢复问题,实现了一个面向SQLite数据库的数据恢复系统。该系统包含数据预处理模块、存储结构遍历模块、数据匹配模块、数据恢复模块四个核心模块,结合了逻辑层面的接口处理与物理层面的存储结构分析,相比传统的恢复方法有较高的恢复率和通用性。具体而言,本文的工作包括以下几个方面:(1)设计和实现了数据预处理模块。该模块主要负责DB文件的载入和提取表头信息,同时调用SQLite接口获取表结构信息。该模块还会调用传统逻辑恢复算法并暂存初步恢复结果。该模块是对输入数据的预处理,为后续恢复流程提供必要的信息。(2)设计和实现了存储结构遍历模块。该模块通过遍历数据库文件的数据存储结构,找到SQLite文件中各有效节点,主要包括自由块和空闲页数据存储区的具体偏移地址,能够帮助准确获取待恢复信息的起始位置。(3)设计和实现了数据匹配模块。该模块核心采用相似类型匹配算法,并且根据实际场景进行相应变通,有效匹配出待恢复的数据,相比于传统方法更加精确且可以应用在更多场景,总体数据恢复量显著提高。(4)设计和实现了数据恢复模块。该模块分别针对自由块和空闲叶两种数据格式进行数据恢复。通过解析不同的存储场景,应用对应算法并调用数据匹配模块逐条恢复数据记录。最后对被恢复出的数据进行后期处理,包括对冗余数据的去除、乱码数据的过滤以及连续不完整数据的合并等。根据本文的方案,结合其系统功能点与实际手机提取的数据,设计并实施了可行性验证与系统测试。结果表明,本方法在大多数实际使用场景中有更好的数据恢复效果,被删除数据的恢复率相比于其他方法更高,对外部环境的依赖性也更小。