安卓微信聊天记录的解密

2024-06-04 9389阅读

安卓微信聊天记录的解密

本文旨在指导用户如何获取微信聊天中的语音记录,并将其转换为WAV格式以供后续处理。适用于已经获取Root权限的安卓手机用户。

环境要求

  • 已Root的安卓手机(本人使用Root后的小米14 Pro)或者将聊天记录迁移到模拟器或者使用小米手机自带的备份等
  • 微信版本:8.0.43
  • 工具:SQLCipher, silk-v3-decoder

    数据文件及路径

    • image2 文件夹:存放所有微信聊天图片,路径:/data/data/com.tencent.mm/MicroMsg/[32位字母]/image2
    • voice2 文件夹:存放所有微信语音,路径:/data/data/com.tencent.mm/MicroMsg/[32位字母]/voice2
    • voide 文件夹:存放所有微信视频,路径:/data/data/com.tencent.mm/MicroMsg/[32位字母]/voide
    • avatar 文件夹:存放所有微信头像,路径:/data/data/com.tencent.mm/MicroMsg/[32位字母]/avatar
    • Download 文件夹:存放微信聊天发送的文件,路径:/data/data/com.tencent.mm/MicroMsg/Download
    • EnMicroMsg.db: 微信数据库文件,路径:/data/data/com.tencent.mm/MicroMsg/[32位字母]/EnMicroMsg.db
    • WxFileIndex.db: 微信文件索引数据库文件,路径:/data/data/com.tencent.mm/MicroMsg/[32位字母]/WxFileIndex.db

      注:32位字母根据不同账号生成,多账号登录将出现多个文件夹。

      安卓微信聊天记录的解密 第1张

      获取访问密码

      EnMicroMsg.db 和 WxFileIndex.db 均被加密,需获取秘钥解密:

      1. 获取秘钥:使用 MD5(IMEI+uin) 取前7位作为访问密码。若为大写字母需转换为小写。拼接时不需使用+号。IMEI为手机IMEI码,在手机设置中可查。新版微信使用1234567890ABCDEF代替IMEI。

      2. 获取uin:访问 /data/data/com.tencent.mm/shared_prefs/auth_info_key_prefs.xml。

        安卓微信聊天记录的解密 第2张
      3. 生成秘钥:使用 MD5(1234567890ABCDEF+uin),去掉+号,取前7位。MD5在线加密 - 站长工具 (chinaz.com)

      解密数据库

      1. 使用 SQLCipher 打开数据库文件。

        安卓微信聊天记录的解密 第3张

      2. 将数据库导出为CSV格式以便分析。

        安卓微信聊天记录的解密 第4张

      消息内容解析

      EnMicroMsg.db 数据库解析

      主要数据表
      • userinfo 表:存储个人信息。id为2的value是个人微信ID。
      • message 表:存储所有聊天记录。
      • chatroom 表:存储群聊信息。
      • img_flag 表:存储在线头像信息。若本地avatar文件夹无头像,可使用此表地址访问头像。reserved2为缩略图,reserved1为高清图。
      • rcontact 表:存放好友信息。
        消息类型解析

        在message表中,`

        type`字段表示消息类型,包括:

        • 1:文本
        • 3:图片
        • 34:语音
        • 43:视频
        • 47:大表情
        • 49:分享卡片
        • 1000:撤回消息提醒
        • 436207665:红包
        • 419430449:转账
        • 1090519089:文件

          媒体类型消息(如图片、语音、视频等)可通过msgId字段在WxFileIndex.db的WxFileIndex3表中找到对应文件路径。

          媒体文件路径获取
          • 图片地址:
            • 缩略图:message表中imgPath字段值(如:THUMBNAIL_DIRPATH://th_5a24c5d362dae72b0ad52d78767ba883)指向image2文件夹中对应文件。
            • 原图:发送图片和接收图片有不同的拼接规则。
            • 视频地址:通过message表的imgPath在video文件夹中找到对应视频。封面.jpg,视频.mp4。
            • 语音地址:message表的imgPath字段经MD5加密后,前4字母表示两级文件夹,文件名格式为msg_imgPath值.amr。
            • 文件地址:发送文件存于/sdcard/Android/data/com.tencent.mm/MicroMsg/Download,通过msgId在WxFileIndex3表中查找路径。
            • 本地头像:avatar文件夹中,微信ID经MD5加密后前4字母表示两级文件夹,格式为user_md5字符串.png。
              语音文件处理

              微信语音使用SILK v3编码,需用silk-v3-decoder进行解码。安装GCC、ffmpeg等工具后进行转码。转码完成后,需将语音文件地址后缀改为转码后的格式(如.mp3)。


              解密安卓微信聊天信息存储 | Greycode’s Blog


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]