详解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

改完权限我们就可以打开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.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了!!!

实验成功,教程结束,觉得可以就点个赞吧

(0)

相关推荐

  • Android如何获取QQ与微信的聊天记录并保存到数据库详解

    前言 提前说明下:(该方法只适用于监控自己拥有的微信或者QQ ,无法监控或者盗取其他人的聊天记录.本文只写了如何获取聊天记录,服务器落地程序并不复杂,不做赘述.写的仓促,有错别字还请见谅.) 为了获取黑产群的动态,有同事潜伏在大量的黑产群(QQ 微信)中,干起了无间道的工作.随着黑产群数量的激增,同事希望能自动获取黑产群的聊天信息,并交付风控引擎进行风险评估.于是,我接到了这么一个工作-- 分析了一通需求说明,总结一下: 能够自动获取微信和 QQ群的聊天记录 只要文字记录,图片和表情包,语音之类

  • Android破解微信获取聊天记录和通讯录信息(静态方式)

    一.猜想数据存放路径 微信现在是老少皆宜,大街小巷都在使用,已经替代了传统的短信聊天方式了,只要涉及到聊天就肯定有隐私消息,那么本文就来讲解如何获取微信的聊天记录以及通讯录信息. 首先我们在没有网络的时候,打开微信同样可以查看聊天记录,说明微信会把聊天记录保存到本地,那么这么多信息肯定会保存在数据库中,所以我们可以去查看微信的databases目录看看内容: 可惜的是,我们在这个里面并没有发现一些有用的数据,所以这时候就了解到了微信因为把重要信息的数据库存在其他目录下面,我们可以直接把微信的整个

  • 详解Android 获取手机中微信聊天记录方法

    首先我们要知道,微信的聊天记录一般是不提供给我们获取的,所以一般情况下我们手机没root的话就拿不到了.就算是root后的手机,想要获取微信的EnMicroMsg.db文件并且解密它.打开它也有点难度. 下面我们就来演示怎么从安卓设备的手机中拿到微信的数据文件吧~ 实验软件 :Android Studio实验设备:Root过的真机一部一.拿到数据库文件EnMicroMsg.db 一步步来,打开Android Studio的File Explorer:Tools –> Android –> An

  • android 获取手机中的所有图片或某一目录下的图片方法

    获取手机中的所有图片,并过滤获取某一目录下的图片.(注释掉的代码可以按照目录分组) private void getAllPhotoInfo() { new Thread(new Runnable() { @Override public void run() { // List<MediaBean> mediaBeen = new ArrayList<>(); HashMap<String,List<MediaBean>> allPhotosTemp =

  • 详解Android使用@hide的API的方法

    详解Android使用@hide的API的方法 今天早上想修改MediaPlaybackService.Java(/packages/apps/Music)的代码. 将AudioManager.STREAM_MUSIC改成AudioManager.STREAM_TTS. 发现AudioSystem.java(/frameworks/base.media/java/Android/media) /* @hide The audio stream for text to speech (TTS) *

  • 详解Android studio如何导入jar包方法

    下面我就总结一下Android studio大家在导入jar包时遇到的一些问题和解决方法: 1,首先先说一下怎么在AS 中找到sdk,jdk,ndk的安装路径,可能一部分人一开始找不到,下面贴出方法: Android studio 中更改sdk的路径,如下图,在右边红色方框中更改sdk的路径 还有一种更好的方式可以把sdk,jdk,ndk的路径全部找到,首先File---Other Settings---Default Project Structure...,打开如下图界面,从红方框处即可直接

  • 详解Android StrictMode严格模式的使用方法

    Android 2.3提供一个称为严苛模式StrictMode的调试特性,Google称该特性已经使数百个Android上的Google应用程序受益.那它都做什么呢?它将报告与线程及虚拟机相关的策略违例.一旦检测到策略违例policy violation,你将获得警告,其包含了一个栈trace显示你的应用在何处发生违例.你可以强制用警告代替崩溃crash,也可以仅将警告计入日志让你的应用继续执行.StrictMode是一个十分有用的类,它可以很方便地应用于检查Android应用程序的性能和存在的

  • Android获取手机联系人列表的方法

    本文实例为大家分享了Android获取手机联系人列表的具体代码,供大家参考,具体内容如下 下面直接贴代码 1.先写一个实体类,来放名字和号码 public class PhoneDto { private String name; //联系人姓名 private String telPhone; //电话号码 public String getName() { return name; } public void setName(String name) { this.name = name;

  • 详解Android应用开发中Intent的作用及使用方法

    Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件.通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求.比如,有一个Activity希望打开网页浏览器查看某一网页的内容,那么这个Activity只需要发出WEB_SEARCH_ACTION给Android,Android就会根据Intent的请求内容,查询各组件注册时声明的IntentFilter,找到网页浏览器的Ac

  • 实例详解Android 获取短信会话列表

    Android中的短信并没有正式的content provider可用,在官方文档中没有提供定义.不过依然可以自己定义好URI,然后查询出短信内容.例如conetent://sms则是所有短信所在的path. 要将短信按会话分类,原先我是查询出所有短信后,然后再按照thread_id分类.系统自带的短信程序包含一个会话显示界面,每个条目包含:联系人.短信数量.第一条短信等内容.当我的程序处理的短信较多时,一次查询出所有的短信就变得很慢.(如果再加上为每个会话查询联系人信息,则会更慢) 看了系统短

  • 详解Android获取系统内核版本的方法与实现代码

    Android获取系统内核版本的方法 这里主要实现获取Android Linux 内核的版本号,网上关于这类文章不是很多,这里记录下,希望能帮助到大家, 实现代码: public static String getKernelVersion() { String kernelVersion = ""; InputStream inputStream = null; try { inputStream = new FileInputStream("/proc/version&q

  • Android获取手机通话记录的方法

    Android如何获取手机通话记录,本文为大家揭晓. 获取手机通话记录流程: 1. 获取ContentResolver; ContentResolver resolver = getContentResolver(); 2.resolver.query(*); 需要传入通话记录的URI:CallLog.Calls.CONTENT_URI 3.对查询得到的Cursor进行数据获取. 主要代码如下: MainActivity.java package com.noonecode.contentres

随机推荐