灰儿 发表于 2019-1-15 11:49:25

解密手机中微信聊天数据库EnMicroMsg.db中数据的方法

首先需要从手机端获取“EnMicroMsg.db”文件:对此需要先给手机执行ROOT权限获取操作,并利用“RE文件管理器”获取其中的“EnMicroMsg.db”数据库文件。

搞电子取证的伙伴们,估计多数都可以循着操作步骤和流程,完成手机中微信聊天记录的提取。其实,针对微信的取证,更刺激的并不是使用专用工具,而是直捣微信数据库,在那里,你能体会的更深刻。毕竟俗话说的好,有些事情,搞得越深才越爽。

著名的EnMicroMsg.db

前面的几篇文章曾经提到,EnMicroMsg.db是个加密的SQLite数据库,网上也介绍了很多打开浏览的方法,大致是说使用MD5(imei+uin),取前7位作为密码,使用sqlcipher就可以打开了。

其实,上面的过程说的轻松,真正做起来却到处是坑。相信网络的话,害死人不偿命的。下面,小编就谈谈这里面的几处大坑(以安卓为例)。

1、*#06#就能准确获得解密所需的imei吗?

答案是不一定。这个短指令能够获取手机的IMEI、MEID等多个设备ID。但是系统会随机选择一个作为加密算法所需的IMEI,并将其记录在DENGTA_META.XML里(不仅一处)。从小编的测试手机来看,微信不仅没有选择IMEI1,也没选择IMEI2,反而选了cdma的MEID,我也是醉了。


DENGTA_META.XML文件内容

2、uin的获取相对简单,不算坑,此篇不再赘述。

2、MD5(IMEI+uin)的输入字符串有大小写要求吗?

答案是肯定的。如果IMEI中有字符的话,需要将其转变为大写,否则计算的MD5值不同。

3、MD5(IMEI+uin)的输出字符串作为密码有大小写要求吗?

答案是肯定的,取前7位,小写。

4、对SQLite browser浏览器版本有要求吗?

答案是肯定的。EnMicroMsg是加密SQLite db,普通的SQLite浏览器无法打开(SQLiteviewer、SQLitebrowser等)。这里推荐一款软件: sqlcipher,这是一个在SQLite基础之上进行扩展的开源数据库,它主要是在SQLite的基础之上增加了数据加密功能。即便如此,针对EnMicroMsg,也只有个别版本的 SQLCipher能够奏效,笔者亲测V2.1可用,高于此版本的V3.15.2、V3.7.0等均无法使用。

页: [1]
查看完整版本: 解密手机中微信聊天数据库EnMicroMsg.db中数据的方法