Android SQLite&删除记录恢复

时间:2012-05-12 18:52:49

标签: android sqlite data-recovery

从我阅读的一些Android取证文章中我了解到sqlite记录可以被恢复,但只有在sqlite没有使用SQLITE_SECURE_DELETE选项编译时(用'0'覆盖已删除的内容)或者没有触发真空(以回复操作系统未分配)空间)+ sqlite上也有选项可以自动真空。

在恢复已删除的记录方面,您对Android了解多少?它是用这个选项编译的吗?意见,链接,欢迎任何事情

PS。我也知道删除的其他方法,通过将行中的特定标志标记为已删除..但数据仍然存在..所以我对此并不感兴趣!

1 个答案:

答案 0 :(得分:5)

所以我做了这些测试,但只在带有android 2.2的模拟器上(我没有root用手机)

发送15条短信,全部删除,发送5条新短信。结论:

  • 通用SQLite查看器无法查看已删除的SMS
  • 已删除但未覆盖短信仍存在于db文件&可以使用十六进制工具(winHex)或更专业的应用程序(Oxygen Forensic SQLite的东西......)进行不变的查看。
  • 删除的短信只会被同一个表(SMS& MMS表)上的新插入覆盖..这意味着mmssms.db数据库中其他表的插入不会覆盖SMS-MMS表中的任何内容
  • 短信按删除顺序被覆盖(它们会被添加到“空闲空间堆栈”中,并按照此处添加或“删除”的顺序进行覆盖)
  • 因此可以进行全面的短信恢复(如果没有收到新的短信或发送..因为他们的展位存放在同一个表中..相同的MMS..same表)
  • 部分短信恢复是不可能的(删除短信的全部空间被填充填充的新短信所占用,所以用十六进制工具查找你无法找到旧删除短信的剩余部分)
  • 结束于:未使用SQLITE_SECURE_DELETE选项&未触发vacuum()

格拉西亚斯