之前因为一些原因需要解密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