6.8号更新
手机换了之后,重新root需要清除数据,所以不想再折腾手机,于是准备换用模拟器. 先用的网易mumu,但装过微信就一直闪退.所以换作夜神模拟器. 夜神模拟器连接adb的方法是: 1.打开夜神模拟器,打开设置,调成手机模式,初次进入的话,进入设置,点击版本号5次,可以激活使用开发者模式,进入后打开USB调试功能
2.打开文件资源管理器,进入夜神模拟器的安装位置,在地址栏输入cmd,回车,会打开cmd窗口,进入的路径就是夜神模拟器的安装位置。我的默认安装位置:C:\Program Files (x86)\Nox\bin
3.输入nox_adb.exe connect 127.0.0.1:62001即可以连接到adb
或者是 adb connect 127.0.0.1:52001
adb connect 127.0.0.1:62001
- 输入adb shell 即可操作
why
微信不支持云同步, 换了手机聊天记录都没了.一直都有想要把微信记录备份下来的想法. 虽然微信客户可以备份,但不能查看,所以今早花了2个小时研究了一下. 主要参考了两个文章:逆向之旅和Android 获取取手机中微信聊天记录
安装adb,获取数据库
.db文件无法在手机中找到,所以先安装了adb,
adb shell
su
//下面就是数据库存放的位置
cd /data/data/com.tencent.mm/MicroMsg/a375d47ad7f69337779a1b7ea3638a76/EnMicroMsg.db
//将数据库从手机中copy出来,此操作不能在shell中进行 需exit退出到cmd中
adb pull /data/data/com.tencent.mm/MicroMsg/a375d47ad7f69337779a1b7ea3638a76/EnMicroMsg.db /User/cyz/Desktop
破解数据库库
我们拿到的是SQLite数据库,并被加了密.可以用sqlcipher.exe软件解密,点此下载. 密码的组成为:IMEI + 微信UIN 的 MD5值(32位小写)前7位.
- 获取IMEI码:手机拨号输入 *#06# 显示出来的即是所需 IMEI
- 登陆微信网页版, 打开F12并用微信发送一条消息,搜索uin就能看到自己的uin码,一般是9位.
到此,我们获取了设备的 IMEI(如12345) 和 微信账号的 UIN(如67890) 码,下面来计算 32 位 MD5 消息摘要值,使用 MD5 在线加密的网站就可以,则要加密的字符串为 IMEI+UIN,即 1234567890,加密后就会得到四种 MD5 值,我们需要的是32位长度小写的.
取该 MD5 值前 7 位,即为密钥。接下来,打开 sqlcipher.exe ,File->Open Database, 选择 EnMicroMsg.db 文件,打开后就可以看到让我们输入密钥,输入刚才的7位密钥,点击OK.
我们的聊天记录在表message中, 切换到Browse Data,然后切换到message表,就可以看到所有的聊天记录了. 点击File>export>CSV就可以把数据导出来了.excel可以直接读取.
写在后面
简单的操作, 理解其中的逻辑, 一步一步做出结果, 还是有些小难度的, 但做出来也很有成就感!