美文网首页@IT·互联网程序员
记一次失败的微信记录恢复

记一次失败的微信记录恢复

作者: Torival | 来源:发表于2017-05-07 17:06 被阅读3157次

    对于微信的使用,这几年来越来越普遍,大众。甚至在简历的里面,有时为了方便交流,也会留下微信的联系方式。但是对于微信聊天记录的保存,个人感觉不是很友好。最近由于一些失误,把重要的信息搞没了,然而里搞外搞,发现,原来都是在瞎搞......对了,我的是android微信。

    微信有个 :recover

    微信的隐藏功能,输入:recover,恢复聊天记录
    对于这个方法,我想只能说我瞎,由于没有看到最关键的一句话,注意:目前仅支持IOS系统。所以......GG。

    各种恢复软件

    对于第一个办法不行之后,我开始寄希望各种强大的软件。搜索后,发现,这个更不靠谱。有好几个都吹嘘说,可以恢复的一年前的微信聊天记录。然而一个个试后,不是不骗钱,就是流氓软件。

    破解EnMicroMsg.db文件

    我不是一个喜欢折腾的人,很不喜欢。但是这个信息比较重要,没办法,只能折腾了。我想,如果可以找到以往的聊天记录,那么在本地可能存在对应的聊天数据文件(EnMicroMsg.db)。所以就开始了下面的折腾。

    • 手机已经获取root权限
      在折腾前的第一件事情,就是把手机获取root的权限。对于root权限,简单的来说就是,你获得了手机完整的控制权。不像以往一样,无法卸载系统预装的应用,也没有办法查看一些系统文件。当然root的方法有很多,现在也有一些一键root的软件,比如360rootroot大师root精灵等等......root成功后,下载RE文件管理器,用以查看系统文件。

    • 取得EnMicroMsg.db文件
      打开RE文件管理器从根目录开始,进入此目录data/data/com.tencent.mm/MicroMsg/,我们发现有很多长字符串的文件夹,这就是在此手机上登录过的微信的数据。打开任意一个,我们会发现EnMicroMsg.db文件,这就是聊天记录的文件。然后弄到PC上。

      获取EnMicroMsg.db
    • 获得IMEIUIN

      • IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号",它与每台移动电话机一一对应。当然如果是双卡手机的话,就会存在俩个IMEI值,查询方式:在拨号界面下输入:*#06#,则可能会显示如下(双卡)。
      移动通信国际识别码1 : 123456789012345
      移动通信国际识别码1 : 123456789054321
      MEID:1234567890124
      
      • uin(user information),也就是特定微信用户的ID。打开RE管理器从根目录开始,进入此目录data/data/com.tencent.mm/shared_prefs/,我们可以看到一个文件名为system_config_prfs.xml,打开。
      ...
      <int name="default_uin" value="1234567890" />
      ...
      

      里面的value就是我们所要的uin信息。

    • 打开EnMicroMsg.db文件
      在打开文件前,我们需要下载一个sqlcipher软件,但是在打开文件时,发现文件有加密。这就需要用到上面的IMEIUIN啦。

    EnMicroMsg.db

    在解密的过程中,我们把IMEIUIN合在一起,进行md5加密,然后取前七位(必须为小写),就是文件的密码。

    IMEI : 123456789012345
    UIN : 1234567890
    string : 1234567890123451234567890
    md5加密 : 9bed8bc3f4d541efa25f39d8a0c7bf98
    解锁文件密码:9bed8bc
    

    打开后就是这样,选取message表,则其中的talker就是对方微信账号,而content就是聊天的内容。


    EnMicroMsg.db

    在Execute SQL中,我们可以先把 talker 通过某条记录查找到,然后通过执行SQL语句来查看结果集。比如,查看与xxx的聊天内容。

    select content from message where talker = 'gh_6f6409369de6';
    
    Execute SQL
    虽然能玩玩,但是也就是能看你当前聊天界面所有的信息,不能恢复以前的。
    干了这么多,没有卵子用

    结论

    结论,就是不能恢复。我们通过查看结果集发现,删除掉的记录不再表中,之后我又实验了一下,发现删除聊天窗口的同时,也会在table中进行更新。

    之后,我在知乎发现:安卓微信5.3(大概在2014年中发布)以后的版本已经不支持聊天记录恢复,在删除的时候就已经覆写了一遍。说实话有点心痛。

    相关文章

      网友评论

        本文标题:记一次失败的微信记录恢复

        本文链接:https://www.haomeiwen.com/subject/izwutxtx.html