受欢迎的博客标签

利用Sqlcipher查看微信本地数据库

Published
前提是你的电脑已经安装了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语句了。.