淮左明都的博客

学习使我进步

Android 获取手机中微信聊天记录

首先我们要知道,微信的聊天记录一般是不提供给我们获取的,所以一般情况下我们手机没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

二、解密数据库文件

  • 这一步比较简单,首先需要我们下载一个SQLcipher,SQLCipher开发得和开放源码的扩展,它提供的SQLite数据库的透明加密.数据页之前被写入加密存储和读取解密。
    下载传送门:SQLcipher下载
  • 我们试着打开EnMicroMsg.db,发现它被加密了!但是微信给数据库加密的方式实在太简单,我们可以轻松地破解,一破一个准!该数据库密码的生成是由微信uin跟手机IMEI两个字符串相加后去md5前七位
    1、这里先要拿到微信uin,很简单,有两种方式可以获取:
    第一种是 :→传送门
    第二种呢,我们可以在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了!!!
这里写图片描述
这里写图片描述

实验成功,教程结束,觉得可以就点个赞吧~O(∩_∩)O谢谢

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_34928905/article/details/78008287
个人分类: android-开发
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Android 获取手机中微信聊天记录

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭