微信聊天记录丢失后的记录

背景

小米6,暂时没有root,开启了开发者模式,CS相关专业,没有安卓背景。
出问题的时候微信版本是7.0.11

起因

三天前微信突然退出了,显示了登录画面,等我登录进去就发现聊天记录全没了,但是微信有关的文件,图片等等可以在文件管理器中看到,被记录在微信收发里面。MicroMsg下的用户文件夹多了一个,猜测是微信无法识别我之前登录的信息,于是重建了一个新的用户

网上查了好多恢复办法都没有,系统自带的办法测试过没用,但是在微博等地方发现好多人都有一样的经历,查了微信文件夹,数据很大,于是猜测数据没有丢失,当时苦于找不到相关的技术文档,于是尝试了各种办法,都没有用。甚至在淘宝上找了付费恢复,也没有成功,甚至说没有帮助。

知道昨天才在CSND找到了不少技术文档,终于部分理清了逻辑。

丢失后我做过什么

  1. 退出重新登录,把之前用户的用户名改成了新生成的用户名。

这样做是看到网上有个恢复办法是重新生产一个用户后把原目录下的文件都拷贝进去,而我原目录下文件很大,一拷贝文件管理系统就停止响应,无奈之下只能试试这个替代办法

这样做之后,从文件夹更新的时间上发现新的信息应该是写进老用户文件夹了,但是还是没有办法读到之前的信息。

这时候虽然从文件夹看微信很大,但是从微信里面读到的数据却很小。
微信聊天记录丢失后的记录
2. CS背景的朋友认为是我的微信有问题,于是在他的建议下备份了用户数据后卸载重装了微信。

重装前分别用手机系统自带的备份工具备份了微信,并且用电脑版微信备份到电脑一次。

重装以后好像是完全还原了一次之前的过程,之前的聊天记录又没有了,微信又产生了一个新的用户文件夹。

但是有个神奇的地方,是微信能读出其他微信账户数据很大了。这让我又对找回聊天记录增加了点信心。

微信聊天记录丢失后的记录

几点疑惑:

  1. 按照网上的说法,微信用户目录名是mm+uin 然后MD5. 按照网上的说法每个用户的uni是唯一的,那我的目录名为什么老是变化呢?

  2. 用chrome登录微信网页版的办法抓包抓到了现在的uin,跟我手机上现有的三个用户目录都不一致,但是我在我妈手机上登录过(是我的老手机),那个手机上的用户名跟mm+uin 然后MD5 产生的是吻合的。

  3. 神奇的是,虽然我看到的目录名不是跟mm+uin 然后MD5 产生的那个,但是用小米系统的备份工具备份微信,然后用网上找的MMrecovery工具把备份转移到电脑上,那个对应的用户目录居然跟mm+uin 然后MD5 产生的是吻合的。

  4. 试着用网上教的解密方式((IMEI+UIN)计算出的MD5值的前7位)给备份出来的EnMircoMsg.db文件解密,用现有uin产生的解不开。

微信的这个问题到底怎么产生的呢?微信的uin是否会变化,还是新的微信uin变成动态的了?

网上有很多在电脑端用工具读取聊天记录的办法,却没有看到把聊天记录恢复到手机微信显示的办法,还是我没找到?

继续研究。本是微信的bug,硬是把人逼成了技术党。我只是想恢复自己的数据呀。