一、知识回顾
最近有人找我弄微信数据库解密的东西,其实这个现在网上都公开了,我在很早之前就静态分析过微信数据库加密算法,不了解的同学可以查看这里:Android中静态方式破解微信数据库加密密码,所以现在有人找我的话我都会告诉他们这个内容,微信数据库加密的密码很简单就是:MD5(IMEI+UIN).Substring(0, 7).toLower;设备的imei和微信登录账号后的唯一表示uin值拼接然后计算MD5值,取前7位在变成小写字母即可。
这个我在那篇文章最后也说到了,这个加密算法不会变化的,因为维系为了兼容以前版本,如果数据库加密算法变动,那么老版本的用户升级到新版本,老版本的数据库解密就会失败,也就是用户看不到以前的消息内容了,这个用户会疯的,所以微信即使知道了这个算法被破解了,他也是没办法升级的,所以现在不会变,以后也不会变的。但是比较奇葩的是他按照我的文章操作计算出来的密码还是不可以。所以我就让他把我的数据库文件传给我我来解密,中间其实我遇到了问题最后才知道被微信转码坑了,因为他微信把IMEI和UIN传递给我了,结果我直接复制计算MD5是错的,最后才知道微信消息中有转码的。加入小编C/C++编程学习群:825414254获取c++资料与直播权限!
二、获取解密密码
所以开始就计算错误,他一度怀疑微信的加密算法是不是变化了,但是这一点我还是坚信微信不可能换加密算法的,这个原因我之前也说了,对于微信来说几乎是不可能操作的。然后他就在网上搜找到一个收费的PC端工具,大致是这样的:
只需要选择微信的数据库目录Micro