微信8.0聊天记录获取(2022年)

本文章记录一下自己研究的和总结网上以前旧的微信聊天记录获取

获取手机微信聊天信息,需要较高的系统权限。手机要ROOT或者类似小米的企业模式也是可以的。不过小米的企业模式开通需要有一定的门槛。这里实现的环境是: 红米8A刷 自定义的ROM(Android 9.0)

获取微信聊天记录整体思路图:

总体思路



1、微信数据库存放地址

微信本身:/data/data/com.tencent.mm/MicroMsg/md5("mm+uid")/EnMicroMsg.db
微信分身:/data/user/999/com.tencent.mm/MicroMsg/md5("mm+uid")/EnMicroMsg.db (小米MIUI系统,其他手机的分身没研究)

2、微信数据库密码

md5(手机imei + uin(auth_info_key_prefs.xml里的auth_uin))前7位字母要小写

手机imei 的值这里有4种情况可能IMEI1或者IMEI2或者MEID或者1234567890ABCDEF ----这里是容易踩坑的点

auth_info_key_prefs的地址:/data/data/com.tencent.mm/shared_prefs/auth_info_key_prefs.xml   分身同理

3、主要的几张表:

  用户个人信息表:userinfo

  好友表:rcontact 

  好友头像表:img_flag

  群聊表:chatroom   (群名字在这个好友表 rcontact)

  聊天信息表:message  (所有聊天信息都在这个表)

  图片表:ImgInfo2

4、图片、语音、视频、文件获取及存放地址

   图片:/data/data/com.tencent.mm/MicroMsg/MD5(mm+uid)/image2文件夹下。例如:THUMBNAIL_DIRPATH://th_2f83f2451c75425d7cba327fd40b112d,即图片在2f/83/文件夹下。

   语音:/sdcard/Android/data/com.tencent.mm/MicroMsg/md5值(这个不知道算法)/voice2文件夹下imgPath值的MD5取第1到2位+"/"+md5取第3到4位+"/"+msg_imgPath的值+".amr",例如"6c/5b/msg_040949010820c1aa467cc0d105.amr"。

   视频:直接在/sdcard/Android/data/com.tencent.mm/MicroMsg/md5值(这个不知道算法)/video文件夹

   文件:/sdcard/Android/data/com.tencent.mm/MicroMsg/Download文件夹下

技术实现

注意操作微信数据库时不要直接连接数据库,否则会造成微信卡顿闪退!!!!!(这里可以提供一下思路,把数据库拷贝出来,然后在拿数据,当拿完了数据,才再次去拷贝最新的数据库,减少拷贝数据库的操作)

打开微信数据库:借助库:'com.tencent.wcdb:wcdb-android:1.0.0'

打开数据库

获取微信数据库密码

获取微信数据库密码

获取uid

然后开启你的为所欲为之为所欲为吧


你可能感兴趣的:(微信8.0聊天记录获取(2022年))