SQLite数据库取证——APP的“记账本”

手机上绝大多数应用——微信、QQ、浏览器、备忘录——都用SQLite存数据。SQLite是嵌入式数据库,不需要装服务器,数据以一个.db文件存在。

SQLite基本结构:

表(Table)——数据按行列存储

索引(Index)——加速查询

触发器(Trigger)——自动执行某些操作

WAL文件——事务日志,记录尚未完全提交的修改

WAL文件是隐藏宝藏。SQLite修改数据时,先写到WAL,再合并到主数据库。如果数据被删除后WAL还没被checkpoint,删除前的记录可能还在WAL里。越早拿到数据库文件,恢复机会越大。

常用工具:DB Browser for SQLite——图形界面,可浏览表格、执行SQL查询、导出数据。

常用表名规律(各开发者命名不同,但有些通用):

聊天记录 → messages 或 chat

联系人 → contacts

浏览历史 → history

下载记录 → downloads

通话记录 → calls

利用WAL恢复已删除记录:

找WAL文件(跟主数据库同目录,.wal扩展名)

PRAGMA wal_checkpoint强制合并到主文件,看能不能找回

不行就用专门的SQLite恢复工具扫描WAL残留

实际例子:用DB Browser打开微信的EnMicroMsg.db,按时间排序筛选案发时间段。发现一条消息“我把文件传到网盘了”——重要线索。然后在WAL文件里发现DELETE FROM messages WHERE time = ...——有人删过这条记录。结合WAL残留,可能把删除前的内容找回来。

posted @ 2026-08-31 20:50  skosm  阅读(2)  评论(0)    收藏  举报