0

从我阅读一些 android 取证文章中,我了解到 sqlite 记录可以恢复,但前提是 sqlite 没有使用 SQLITE_SECURE_DELETE 选项编译(用“0”覆盖已删除的内容)或没有触发真空(返回给操作系统未分配的空间)+ sqlite 还有一个选项可以自动吸尘。

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

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

4

1 回答 1

5

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

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

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

格拉西亚斯

于 2012-06-28T10:12:53.717 回答