Android SQLite和删除记录恢复

pul*_*988 0 sqlite android data-recovery

从我阅读一些Android取证文章我明白sqlite记录可以恢复,但只有当sqlite没有使用SQLITE_SECURE_DELETE选项编译(覆盖已删除的内容为'0')或没有触发真空(返回操作系统未分配空间)+ sqlite上也有选项可以自动进行真空吸尘.

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

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

pul*_*988 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()

格拉西亚斯