首先我们要知道,微信的聊天记录一般是不提供给我们获取的,所以一般情况下我们手机没root的话就拿不到了。就算是root后的手机,想要获取微信的EnMicroMsg.db文件并且解密它、打开它也有点难度。
下面我们就来演示怎么从安卓设备的手机中拿到微信的数据文件吧~
实验软件 :Android Studio实验设备:Root过的真机一部一、拿到数据库文件EnMicroMsg.db
一步步来,打开Android Studio的File Explorer:Tools –> Android –> Android Device Monitor
首先我们可以先随便运行一个项目,将真机作为调试工具,跑起来之后按照上面方式打开文件管理器,进入“/data/data/”我们可以看到是这样的:
可以看到有很多应用的项目路径,我们找到微信的,目录是:com.tencent.mm,这里其实会出现一个问题,就是权限不够打开/data/data目录其中就是需要进入到adb.exe所在的目录下,打开命令行形式,改变文件权限,由于安卓文件系统的内置问题,我们只好一层层地打开权限,才可以查看到里面的文件。可以参照下我的目录是:
D:\Users\Administrator\AppData\Local\Android\sdk\platform-tools
具体操作如下:
在此adb.exe所在的目录下打开命令行形式,按SHIFT+右键打开进入adb shell模式:在命令行中输入: adb shell 进一步进入root权限:在命令行输入: su这时候你在File Explorer中可以发现上面讲到的问题,就是文件夹打不开,这时候就需要你改变权限,但是权限的改变不是改变根文件夹的权限后子文件的权限也随着改变,比方你想改变/data/下的所有文件夹及其子文件夹文件的权限:chmod -R 777 /data/
会爆上面这个错,所以我们只好一层层改变权限,拿到我们需要的文件就好,依次输入命令:
chmod 777 /data/ chmod 777 /data/data/ chmod 777 /data/data/com.tencent.mm/ chmod 777 /data/data/com.tencent.mm/MicroMsg/ chmod 777 /data/data/com.tencent.mm/MicroMsg/01xxxxxxxxxxxxxx
改完权限我们就可以打开File Explorer中的文件了
看到以上目录后,就可以试着把EnMicroMsg.db这个文件pull出来
ps:这里可能有些人会pull不出来,解决办法我在这篇文章上面有叙述:Android Studio中导出数据库文件的方法以及出现Failed to pull selection: open failed: Permission denied的解决思路
二、解密数据库文件
这一步比较简单,首先需要我们下载一个SQLcipher,SQLCipher开发得和开放源码的扩展,它提供的SQLite数据库的透明加密.数据页之前被写入加密存储和读取解密。
下载传送门:SQLcipher下载
我们试着打开EnMicroMsg.db,发现它被加密了!但是微信给数据库加密的方式实在太简单,我们可以轻松地破解,一破一个准!该数据库密码的生成是由微信uin跟手机IMEI两个字符串相加后去md5前七位
1、这里先要拿到微信uin,很简单,有两种方式可以获取:
第一种是 :→传送门 //www.zyiz.net/article/139995.htm
第二种呢,我们可以在shell命令行中cd进入:/data/data/com.tencent.mm/share_prefs/ 后 :
cat system_config_prefs.xml
然后我们就可以看到下面这张图片的信息:
上面我们就可以清楚地看到了,标记了default_uin标签名对应的value值就是我们要找的uin了~
2、手机IMEI的获取:在手机拨号键输入:*#06# 即可获取
3、得到微信uin和手机IMEI相加,因为都是数字,加完之后还是数字,得到了一个最终的数字字符串,通过在线md5加密软件加密后去前7位就是密码了,输入密码我们就可以进入梦寐以求的db文件EnMicroMsg.db了!!!
实验成功,教程结束,觉得可以就点个赞吧