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

原创 2015年11月01日 10:49:43

这几天事情比较多,可还是想尽快写下这篇文章。

本以为微信的聊天记录以我本人现存能力获取不到,但经过一番尝试,还是成功了。前提:手机需要已经 root

在我的直觉里,微信的聊天记录一定会是加密的,而且是用了现代密码学中的加密算法,只要官方保存好密钥那么我等平民不可能获取得到。而接下来,我想说的是我等平民如何能够获取到微信的所有聊天记录。

一般来说,Android 应用程序的数据库文件会保存在 /data/data/packagename/database 文件夹下,而微信稍稍有些不同,但也不难发现其数据库文件保存位置,位于:/data/data/com.tencent.mm/MicroMsg 路径下,注意这里有两个像是乱码的很长名字的文件夹,这两个文件夹正是用户的个人信息保存的位置(我这里有两个,估计是之前谁用我的手机登录过微信。。。),再看这个文件夹里面有一个很显眼的数据库文件 EnMicroMsg.db ,凭猜测也可以感觉到前缀 En 应该是 Encrypt 的缩写,果然,用 SQLite Professional 打开提示该数据库文件被加密,具体如下几幅图

image
image
image

说实话,给 SQLite 加密,我还是第一次遇到。于是放狗搜,发现有一个软件叫做 sqlcipher.exe,在有密钥的情况下可以打开被加密的 db 文件(这个软件国内很难找,我放在了我的七牛云存储上,点此下载)。那么问题来了,密钥是什么?

不懂微信为何要这样做,密钥是当前手机的 IMEI + 微信UIN 的 MD5值(32位小写)前7位。(注:此处信息不是自己发现的,是无意中在网上搜到的)分别说如何获得如上内容:

  • 获取 IMEI 码 :
    手机拨号输入 *#06# 显示出来的即是所需 IMEI
  • 获取微信 UIN 码 :
    相信大家都用过微信的网页版,我们就通过它来获取。首先登录微信版网页,再新建一个标签页 chrome://net-internals/#events,这个是 chrome 内置的抓包工具,所有进出的数据包都能看到,所以类似于下面这样

image

之后在网页聊天界面随意给某个联系人发送一条消息,回到抓包标签页,按 Ctrl + F 全局搜索 uin ,这个时候就会看到下图中的 uin 码,我这里是 9 位

image

到此为止,我们获取了设备的 IMEI(如12345) 和 微信账号的 UIN(如67890) 码,下面来计算 32 位 MD5 消息摘要值,使用 MD5 在线加密的网站就可以,则要加密的字符串为 IMEI+UIN,即 1234567890,加密后就会得到四种 MD5 值,我们需要的是32位长度小写的,如图

image

取该 MD5 值前 7 位,即为密钥。接下来,打开 sqlcipher.exe ,File->Open Database, 选择 EnMicroMsg.db 文件,打开后就可以看到让我们输入密钥,输入刚才的7位密钥,点击OK,如图

image

如果你成功看到了下图的界面,则说明99%已经成功了。

image

那如何能看到真正的聊天记录内容呢,点击 Browse Data,再筛选 message ,看吧,赤裸裸的聊天记录赫然摆在眼前。。。

image

最后,想跟各位说的是,手机千万不要交给程序员。。。

个人GitHub: http://github.com/icodeu

个人网站:http://icodeyou.com

个人微信号:qqwanghuan 技术交流

image

查询别人微信聊天记录,操作只需30分钟快速完成

微信是腾讯公司于2011年1月21日推出的一款通过网络快速发送语音短信、视频、图片和文字,支持多人群聊的手机聊天软件。用户可以通过微信与好友进行形式上更加丰富的类似于短信、彩信等方式的联系。微信软件本...
  • u011983917
  • u011983917
  • 2013年10月02日 15:54
  • 2010

Android逆向之旅---静态方式破解微信获取聊天记录和通讯录信息

微信现在是老少皆宜,大街小巷都在使用,已经替代了传统的短信聊天方式了,只要涉及到聊天就肯定有隐私消息,那么本文就来讲解如何获取微信的聊天记录以及通讯录信息...
  • jiangwei0910410003
  • jiangwei0910410003
  • 2016年08月22日 08:59
  • 26173

Android开发——免Root监听微信的聊天记录(后台秘密发邮件)

发送后台邮件需要用到三个第三方的库,分别为activation.jar,additionnal.jar,mail.jar。发送邮件的时候需要用到很多信息,包括发送邮件的服务器的IP和端口、邮件发送者的...
  • SEU_Calvin
  • SEU_Calvin
  • 2016年07月15日 13:59
  • 23269

Android之微信抢红包实现原理分析

微信抢红包主要用到AccessibilityService,该服务需要用户手动到辅助功能里面授权,下面直接粘贴源码,先看Activity,主要是跳转到辅助功能界面,让用户开启辅助功能的服务: publ...
  • zhangyongfeiyong
  • zhangyongfeiyong
  • 2016年08月28日 20:57
  • 2426

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

关于如何在 Android 手机上窃取微信聊天记录。 这几天事情比较多,可还是想尽快写下这篇文章。 本以为微信的聊天记录以我本人现存能力获取不到,但经过一番尝试,还是成功了。前提:手机需要已经 ...
  • f2006116
  • f2006116
  • 2016年04月06日 11:15
  • 10223

利用fiddler 截获微信传输数据 (方便抓取公众号信息)

前言:本文章是搭配《批量获取微信公众号》一文,介于群里朋友很热情,我就趁着上班测完bug 来撰写该文章,那么读完本文,你会学习到什么呢? 什么是fiddler,他和其他抓包软件有什么区别,如何使...
  • lhorse003
  • lhorse003
  • 2017年05月18日 16:29
  • 14774

如何获取微信uin

首先解释什么是微信的“uin”:uin就是user information,也就是te'd
  • yuanbohx
  • yuanbohx
  • 2014年11月19日 13:52
  • 30945

Android逆向之旅---静态方式破解微信获取聊天记录和通讯录信息

转载于http://blog.csdn.net/jiangwei0910410003/article/details/52238891 一、猜想数据存放路径 微信现在是老少皆宜,大街小巷都...
  • molu_chase
  • molu_chase
  • 2016年11月30日 16:00
  • 2079

第三方apk实时获取微信聊天消息记录

说明:纯属发烧而生 第一步:安装apk的手机进行root 因为需要读取微信聊天记录信息表,所以手机需要root,这样给apk开启更大的权限,这里进行root的工具有好多比如360root大师等相...
  • lamboo_cn
  • lamboo_cn
  • 2016年10月27日 16:45
  • 7804

Android微信语音聊天记录及文本聊天记录 数据库破解 silk 整理

阅读前提示:微信的文本聊天记录储存在私有目录的数据库中,如果没root,无法拿到文字聊天记录。 一、微信的语音聊天记录 找到微信的语音文件根目录 -》tencent -》MicroMsg -》名字很长...
  • voler_HJL
  • voler_HJL
  • 2016年12月21日 17:40
  • 3567
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 窃取手机中微信聊天记录
举报原因:
原因补充:

(最多只允许输入30个字)