(学习用,手把手系列)如何获取APP微信聊天记录

5,024 阅读2分钟

作业日期

2020/04/02

思路

两种方案:
方案一 手动获取DB文件,通过sqlcipher工具读取数据内容
方案二 已root手机的安装app,通过app将聊天记录上传值后台数据库

方案一 手动获取DB文件,读取数据内容

事前准备

1.Android Device Monitor(安卓SDK自带)
2.sqlcipher.exe(DB图形化查看器,查看EnMicroMsg.db,不大好找图形化版本的,这边放了个链接,在帖子底部)

步骤一 使用Android Device Monitor 工具拷贝出相关文件

Android Device Monitor 这个工具在安卓SDK文件中,工具路径可以参考我的。 D:\CommonDevSoftware\Android_ADT\sdk\tools\lib\monitor-x86_64

1.打开monitor链接模拟器,打开file explorer视图 微信资料路径在data/data/com.tencent.mm/MicroMsg 中

2.导出2个文件EnMicroMsg.db与auth_info_key_prefs.xml EnMicroMsg.db文件位于data\data\com.tencent.mm\MicroMsg\xxxxxxxx(瞄下,哪个目录名字最长就是那个了)

auth_info_key_prefs.xml文件位于data\data\com.tencent.mm\shared_prefs\auth_info_key_prefs.xml

步骤二 获取DB访问密码

1.读取EnMicroMsg.db需要访问密码,这边先来得到访问密码
2.密码为7位数,是手机IMEI码拼接微信UID码,经过md5加密后取前七位。
3.获取模拟器IMEI码(模拟器设置里面查看),真机的话可以去网上搜下有N种办法
4.获取微信UID码,打开刚刚拷贝出来的auth_info_key_prefs.xml,找到_auth_uin对应的value就是我们要的微信UID码

5.进行md5加密,有很多现成的网址,网上一搜就有了,取前7位

步骤三 访问DB

1.打开sqlcipher软件,将步骤一导出的EnMicroMsg.db文件拖入并输入密码就能看到数据库内容了

附上一些数据查询SQL

sql不是自己写的,这边是帖的github项目中别人写好的sql 传送门:wxrecord

取得用户信息

SELECT id,
         TYPE,
         value
FROM userInfo
WHERE id = 2
        OR id = 4
        OR id = 6

查询所有微信群信息

SELECT t1.nickname qunName,
         t1.quanpin qunPin,
         t1.username qunId,
        
    (SELECT t3.nickname
    FROM rcontact t3
    WHERE t2.roomowner=t3.username) qunOwner, t2.displayname qunListName,t2.memberlist qunListId
FROM rcontact t1
INNER JOIN chatroom t2
    ON t1.username=t2.chatroomname

查询所有微信群信息

SELECT msgId,
        content,
        createTime,
        msgSeq,
        talker
FROM message
WHERE talker=?
ORDER BY  msgSeq 

软件下载链接

sqlcipher.exe

免安装 pan.baidu.com/s/12u_d6Kqg… 码:7lve