详解Android 获取手机中微信聊天记录方法
作者:ok406lhq 发布时间:2021-10-25 02:32:38
首先我们要知道,微信的聊天记录一般是不提供给我们获取的,所以一般情况下我们手机没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,很简单,有两种方式可以获取:
第一种是 :→传送门 https://www.jb51.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了!!!
实验成功,教程结束,觉得可以就点个赞吧
来源:https://blog.csdn.net/baidu_34928905/article/details/78008287


猜你喜欢
- 这篇文章主要介绍了如何使用Jenkins编译并打包SpringCloud微服务目录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有
- java arrayList遍历的四种方法及Java中ArrayList类的用法package com.test;import java.u
- 关于 swagger 本文不再赘述,网上文章很多。本文要讲的是Knife4j3.0.3 整合SpringBoot 2.6.4,因为 knif
- 1.在C#中,类名首字母需大写。如:class Student2.在C#中Main()方法有四种形式:static void Main(st
- 1. 引入静态资源:th:href或th:scr+@{/从static目录开始}<html lang="en" x
- 摘要:用spring-boot开发RESTful API非常的方便,在生产环境中,对发布的API增加授权保护是非常必要的。现在我们来看如何利
- /** * 考拉兹猜想:Collatz Conjecture * 又称为3n+1猜想、冰雹猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜
- 本文实例讲述了Spring实战之注入集合值操作。分享给大家供大家参考,具体如下:一 配置<?xml version="1.0
- 首先看一看什么是装箱和拆箱?简单的来说:装箱就是值类型转换为引用类型;拆箱就是引用类型转换为值类型。值类型,包括原类型(Sbyte、Byte
- 一内容:设计一个手写字体识别程序。二实现①建立一个存放手写字体的数据库②activity_main.xml<?xml version=
- 这篇文章主要介绍了Java调用明华RF读写器DLL文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为 根据提供的模板来导出Excel报表并且可根据提供的模板S
- 简介我们在前面的Android教程中已经提到过这么一件事:Android在启动后会有一个主线程。它不允许任何子线程去改变主UI线程里的内容。
- /* String name = "adsbsadgsadgtewterfsdf"
- JAVA 静态代理模式代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。代理模式说白了就是“真实对象”的代表,在访问对象
- 实现消息队列的两种方式Apache ActiveMQ官方实例发送消息直接在Apache官网http://activemq.apache.or
- Class:EcanRMB.cs using System; using System.Collections.Gen
- 首先我们来回忆一下上一节讲过的synchronized关键字,该关键字用于给代码段或方法加锁,使得某一时刻它修饰的方法或代码段只能被一个线程
- 一:自定义异常类:package 自定义异常; //或者继承RuntimeException(运行时异常) public class MyE
- 所谓泛型:就是允许在定义类、接口指定类型形参,这个类型形参在将在声明变量、创建对象时确定(即传入实际的类型参数,也可称为类型实参)泛型类或接