首页 > 恢复资讯 > 恢复教程 > 正文

安卓微信数据恢复取证

2019-05-10 09:55:51   来源:华军科技数据恢复

一、记录级恢复

        大部分用户删除微信数据时,只对部分消息进行针对性的删除,实际上仅仅删除了EnMicroMsg.db文件message数据表中的局部内容,由于没有覆盖新数据,在安卓微信5.2版本前可以通过SQLite恢复工具直接恢复;5.2版本后因腾讯对安卓版本实行了删后写0覆盖的机制,至此对数据库文件无法直接恢复。

        空间清理时,一般会将聊天产生的多媒体文件和传输的其他文件直接删除,文字记录仍然保留,如需恢复上述文件的需要进入文件级恢复(详见下文);如果选择清空微信数据时,将会连同文字记录一并全部删除。


        为了尽可能寻找被删除的重要数据,经过研究发现在以下两处仍有可能存在历史已删除数据:

1、索引文件
        安卓微信在建立EnMicroMsg.db文件的同时会生成一个索引文件,目的在于方便数据检索,相当于对产生过的数据会有一个类似缓存的备份。早期版本的索引文件为IndexMicroMsg.db,该文件结构如图所示:


        其中数据表包括了群组及成员、游戏、收藏、通讯录、好友标签、消息内容等。依次对重要数据进行分析,发现群组及成员对应ChatRoomMembers表内容为明文,如下图所示:


        收藏内容(FtsIndexFavorite_content)、通讯录内容(FtsIndexContent_content)、消息的容(FtsIndexMessage_content)等表项中内容字段均为密文,如下图所示(乱码的即为密文):


        图中加密字段的解密秘钥为IMEI与uin组合后的MD5值,因此很容易解析出明文内容。

        目前6.6以后版本的微信索引文件已更新为FTS5IndexMicroMsg.db,所有表名称变更为FTS5开头,内容字段均为明文,如下图所示为某微信索引的消息内容。


        上图中并没有详细的消息发送/接收主体、也没有时间等必要字段,此时只需与下图所示的FTS5MetaMessage表进行对应匹配即可。


        当EnMicroMsg.db文件内数据删除时,对应的IndexMicroMsg.db或FTS5IndexMicroMsg.db文件中的相应内容同步删除,但不受写0覆盖的影响,因此可以从该索引文件中基于数据库恢复原理获得大量已被删除的数据记录。这也是目前部分国产取证软件所恢复出的微信数据的来源。

2、备份文件
        当微信使用中有过版本升级时,默认会生成EnMicroMsg.db.bak文件,该文件用于备份之前版本产生的聊天数据,及微信版本升级前的EnMicroMsg.db数据。当EnMicroMsg.db内旧数据删除时,对应的bak文件中的相应内容并没有删除且不受影响,因此可以从该备份文件中获得大量已被删除的数据记录。这部分数据很容易被忽略,但也可以作为恢复已删除微信数据的来源。

        该bak文件经过压缩加密,加密方式未公开。我们通过研究获得了解密密钥(密钥组成暂不公布),并通过腾讯的开源工具成功解压,从而能够打开该bak文件,内部结构与EnMicroMsg完全相同。

        综合上述两种方式,我们可以更好地找回被删除的微信历史数据,使安卓微信取证能够获得更多的线索和证据。
 

二、 文件级恢复

        微信消息中的音视频图片及传输的其他文件均以附属文件形式存储在独立目录中,删除这些消息时对应会删除相应原文件。如果要恢复这些文件,首选当然是寻找是否有下载或备份到其他路径的可能,其次考虑对手机存储区域进行全盘镜像,再对未加密的镜像进行目录恢复或文件挖掘(类似于硬盘或U盘的操作)。由于安卓系统的升级和文件系统的变化,目前针对安卓镜像的文件恢复效果并不理想。

        APP卸载时,一般不会保留数据(刻意保留的除外),所有相关文件均会删除,除非能够恢复出微信原始文件,否则无法恢复出相关数据。因此,同样需要借助镜像,在未加密的镜像中针对性的恢复安卓微信目录中的几个核心数据库文件及其他聊天附属文件。

        恢复出厂时,相当于系统还原,所有数据文件全部清除并被新系统重新覆盖,微信数据几乎荡然无存。


版权说明:如非注明,本站文章均为华军科技数据恢复原创,转载请注明出处和附带本文链接。

CopyRight2014-2016 杭州华军科技有限公司//www.sosit.com.cn 版权所有 浙ICP备15017254号-5 成功案例|华军资讯|硬盘服务|数据恢复

警徽

浙公网安备 33010602000660号