几种解密Android版微信聊天数据库的方法

日期 2018-07-31
几种解密Android版微信聊天数据库的方法

之前因为一些原因需要解密Android微信聊天数据库,总结下几种解密方案,下面链接里面有对数据库的详细描述,这里就不再赘述了。

聊天数据库文件保存在/data/data/com.tencent.mm/MicroMsg/${userid}/EnMicroMsg.db
聊天资源文件(图片,语音等)保存在/sdcard/tencent/MicroMsg/${userid}/${avatar,emoji,image2,sfs,video,voice2}

几种常用的解密EnMicroMsg.db 的方法

方法1 设备imei+uin

https://www.zhihu.com/question/19924224/answer/69982884
https://zhuanlan.zhihu.com/p/28935173

方法2 解密CompatibleInfo.cfg

反序列化/data/data/com.tencent.mm/MicroMsg/CompatibleInfo.cfg 文件得到设备id
https://github.com/ppwwyyxx/wechat-dump/issues/42
https://gist.github.com/ChiChou/36556fd412a9e3216abecf06e084e4d9

方法3 利用Xposed

Hook java层openDatabase方法提取解密参数
https://github.com/adamyi/AndroidWechatSQLiteDecrypt

方法4 暴力破解,穷举密码

https://github.com/chg-hou/EnMicroMsg.db-Password-Cracker

其中方法3应该是成功率最高的,但是需要安装xposed框架

Android版微信数据库使用SQLCipher加密,并开源了一个高效的db框架https://github.com/Tencent/wcdb

更多参考链接

https://github.com/ppwwyyxx/wechat-dump
https://github.com/sqlitebrowser/sqlitebrowser