刚拿到一个小米手机微信备份,想用 AI 把删掉的聊天扒出来。结果一上手就踩坑。
那个 zip 包里只有两个 xlog 日志,根本没数据库。而且这日志离线解不开,私钥运行时才生成、不落盘。我只能顺着路径往回找,最后挖出个 1.6GB 的完整备份。
这备份是 MIUI v2 格式,tar 数据从偏移 65 开始。我自写了解析器,直接抠出了加密的 EnMicroMsg.db。密钥得靠 IMEI 和 UIN 推,但真实 IMEI 没用上,走的是“1234567890ABCDEF”这个兜底串。我先用高优先级参数秒扫,命中了密钥,再全量解密。
解密完发现,WAL 文件里混着旧数据,不能全回放。判断记录是不是被删,得分四层查:看 msgId 连不连续、会话删没删、有没有撤回标记,最后再做雕刻比对。结果查出 3 条被删记录,里面还夹着一个爆破口令拿到了新机型“AeroX-900”。
说白了,恢复数据最难的不是写脚本,是先看清手里拿的到底是什么。