手把手教你破解微信本地数据库(利用Sqlcipher查看)


最近一直在研究Xposed等一些hook框架,进行学习做一些demo,这次就正好拿微信练练手,学习学习,也可以学习微信手机本地数据库的表结构设计等。


好,废话不多说,直接开干。

前提是你的电脑已经安装了adb相关程序,如果你本身就是安卓开发者,想必肯定安装了Android Studio,那里直接就有adb相关程序。其次,你准备一台

已经root过的安卓手机(要安装的有使用过的微信应用,不然没有数据可看),不建议用小米系列等,比较root比较麻烦。这里像360手机助手就有root功能,怎么root看你自己了。


步骤一:查找到微信数据库


电脑连接手机,打开命令行,输入 adb shell 进入shell 命令


如果提示这个错误 error: unknown host service 说明你的adb还是有问题的,正确的如下图


这种基本命令跟数据为什么在data下就不解释了,这样就进入了data/data目录下


当你再操作时会发现如下错误


这个意思是你当前没有权限,这时我们来获取超级权限,输入su  root


然后输入ls,就会查出所有的文件,根据包名找到微信,微信的包名大家都知道,是 com.tencent.mm



这时我们就看到了微信的一些文件,有兴趣的可以去看看其他文件里的东西,这里我们需要打开第一个文件,叫MicroMsg。打开它



这里像这样很长一串的MD5加密后的字符串就是你这里使用的微信用户的相关微信数据了,我这里之所以两个,是因为我用过两个用户登录了微信,微信分别存储了下来


再次打开这个文件,我们就可以看到很多以db结尾的数据库了

这里我们需要用到EnMicroMsg.db这个数据库,先拷贝一份出来到sdcard

此时在手机里就能看到这个EnMicroMsg.db文件了,移动到桌面来,到这里我们的第一步就已经完成了。是不是很简单。




步骤二:使用sqlcipher打开EnMicroMsg.db文件

先运行sqlcipher,点击File 一> OpenDatabase 一> 选择桌面的那个EnMicroMsg.db文件,这时会出现这样一个对话框

这里是要求我们输入密码,因为微信本地数据库是加密的,那么密码是什么呢,规则很简单

具体如下:

(手机IMEI + 微信uin )取MD5的前7位

手机的IMEI获取:手机拨号盘输入:*#06#  ,你或者用android代码获取可以,怎么都行

微信uin的获取,我是通过网页版微信,我用的是win10的那个Edge浏览器,打开F12开发人员工具,选择网络,然后随便操作或者聊天,就可以看到了




然后百度打开在线md5加密:输入IMEI+wxuin,进行加密,选择32位小写的前七个字符串即可;



然后将这七位字符串输入到sqlcipher中,就顺利的打开了


接下来就可以愉快的查看表结构了,还可以选择Browse Data查看数据,也可以选择Execute SQL执行sql语句了。


到这里就已经彻底打开了微信手机本地的数据库了,其它几个数据库,我也用同样的方式打开了,你们也可以试试,仅供大家学习参考使用,其他用途后果自负。


本人个人原创,如有雷同,纯属巧合,或者与本人联系,做改动。请转载或者CV组合标明出处,谢谢!(如有疑问或错误欢迎指出,本人QQ:752231513)


猜你喜欢

转载自blog.csdn.net/qq_30548105/article/details/72676245