分享

手工解密微信聊天数据库的四个大坑

 anyyss 2018-08-26

案例

随笔

知识

声音

其他


编者按

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


著名的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等均无法使用。


解密EnMicroMsg.db只是手工分析微信聊天数据库的第二道关口(第一道是能够正确从手机中把这些文件提取出来),后续的工作还有很多。合适的时候,容我们慢慢分享。




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多