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

  1. 输入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位.

  1. 获取IMEI码:手机拨号输入 *#06# 显示出来的即是所需 IMEI
  2. 登陆微信网页版, 打开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可以直接读取.

    写在后面

    简单的操作, 理解其中的逻辑, 一步一步做出结果, 还是有些小难度的, 但做出来也很有成就感!