-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
小米手机提取微信聊天记录数据库 #1
Comments
命令行获取的IMEI为null是什么原因呀 |
我也是有这个null的问题,看了下手机有两个imei,尝试用了第一个imei 加上uid 做一个md5的hash,前七位就是密码 |
C:\wechat>java IMEI systemInfo.cfg CompatibleInfo.cfg 这个是什么问题??急求 |
先不要急,不过我不太了解这个中文错误码对应的英文是什么,应该不是null |
你能确认一下你 IMEI.java 健全? |
我试过几次不行就换其他方法了,使用iemi少一位加uin取MD5 加密32位小写前面七位解出了密码:) |
如果他获取的IMEI是null 那他下面算md5就会用null这4个字母 |
我和你的完全不一样,我miui 10 开发版,备份出来的bak文件完全就是一个压缩包,可以直接winrar查看,并没有app这个目录,直接就是com.tencent.mm/r,r下面也没有MicroMsg. |
您好,运行脚本时我也出现了这个问题: |
日消息数走势是怎么分析的呀 |
这个就是一个统计图,按时间分类就好 |
我的CompatibleInfo.cfg是空的 |
|
因为CompatibleInfo.cfg 有可能0字节,所以IMEI.java需要修改下
保存java文件以后
这个java代码中,uin的获取是没问题的。 根据uin计算的key,解密数据库实测没有问题。 |
小米6提取微信聊天记录笔记
通过MI6本地备份提取聊天记录
要导出微信安卓客户端的聊天记录,首先得找到聊天记录的数据库。
安卓客户端的聊天记录储存在私有目录
/data/data/com.tencent.mm/MicroMsg
下,这个目录需要root权限才能进去,但是,那样太太太麻烦了,好在我们MI6有本地备份的功能,利用这个功能。我们轻而易举就可以获得数据库。需要的工具
此处下载
环境
需要安装Java环境,未安装可以搜索Java安装
提取数据库
首先到手机:设置->更多设置->备份和重置->本地备份 里面点击新建备份,选择软件程序中的微信进行备份
然后到文件管理
/内部储存设备/MIUI/backup/ALLBackup/
下将备份的文件夹复制到电脑接下来是从备份的文件中提取微信聊天记录,通过
WinHex
软件查看备份包信息,发现miui备份包是在原生安卓的备份基础上多加了一个文件头。选中多余的文件头,按delete
键删除,点击保存。修改后的文件就是标准的原生安卓备份文件。接下来,将修改后的
com.tencent.mm.bak
处理成原文件,首先将abe.jar
复制到和com.tencent.mm.bak
同一个文件夹下终端执行:
会生成一个mm.tar文件,用解压软件将这个包解压,会得到一个
apps
文件夹,apps
文件夹下面有com.tencent.mm
文件夹,聊天记录数据库就存在apps/com.tencent.mm/r/MicroMsg/
下,打开文件夹会发现里面有32位字符(MD5值)的文件夹(登录过多个用户的有多个),打开此文件夹其中EnMicroMsg.db
就是要找的数据库文件。生成数据库密码
找到聊天数据库了,但是目前还不能得到聊天记录,因为这个数据库是
sqlcipher
加密数据库,需要密码才能打开。数据库密码有很多种生成方式:
手机
IMEI
+uin
(微信用户iduserinformation
) 将拼接的字符串MD5加密取前7位反序列化
CompatibleInfo.cfg
和systemInfo.cfg
使用hook方式得到数据库的密码,这个方法最有效参考
暴力破解
...
使用反序列化的方式获得密码
由于我的手机有多个
IMEI
码,试了半天出来的密码都不对,故使用此方法来得到密码。首先将
CompatibleInfo.cfg
和systemInfo.cfg
以及EnMicroMsg.db
复制出来,将下面这段代码保存到IMEI.java
文件将这段代码保存到
IMEI.java
文件,将三个文件放在相同目录下终端运行
运行完成后就会得到密码
参考链接
解密数据库
Windows用户可以使用
sqlcipher.exe
软件来查看数据库打开数据库,输入密码,就可以查看数据库中的表
文字聊天记录储存在
message
表中,可以选中表,点击软件的右上角file-export导出表到csv
文件,可以通过Excell查看表中的信息执行这段命令可以查看制定对象的聊天记录
Linux用户可以使用
sqlcipher
来解密sudo apt-get update sudo apt-get install sqlcipher sqlcipher EnMicroMsg.db 'PRAGMA key = "yourkey"; PRAGMA cipher_use_hmac = off; PRAGMA kdf_iter = 4000; ATTACH DATABASE "decrypted_database.db" AS decrypted_database KEY "";SELECT sqlcipher_export("decrypted_database");DETACH DATABASE decrypted_database;'
执行上面的命令之后会得到一个解密后的数据库
decrypted_database.db
,可以使用数据库软件查看得到数据库之后可以分析一下你的聊天记录,顺便制作一个词云来给你的心上人看一下你们都聊了啥:eyes:
看了一下我和女票日消息数走势,最多一天竟然发了809条:joy:
The text was updated successfully, but these errors were encountered: