微信消息类型说明
WeLink 解析微信解密后的 SQLite 数据库,消息存储在 message_N.db 的 Msg_* 表中。每条消息的类型由 local_type 字段标识。
注意事项
local_type在数据库中存储为 64 位整数,高位可能包含额外标志位- WeLink 使用低 16 位 (
local_type & 0xFFFF) 作为真正的消息类型 - Type 49(应用消息)的
message_content通常是 zstd 压缩 的,需要根据WCDB_CT_message_content = 4判断并解压后才能解析
基础消息类型
| local_type | 类型名称 | 说明 |
|---|---|---|
| 1 | 文本 | 纯文字消息 |
| 3 | 图片 | 图片消息 |
| 34 | 语音 | 语音消息 |
| 42 | 名片 | 分享联系人名片,XML 格式包含头像、昵称等 |
| 43 | 视频 | 视频消息 |
| 47 | 表情 | 自定义表情/GIF 动图 |
| 48 | 位置 | 共享地理位置,XML 格式包含经纬度、POI 名称、营业信息等 |
| 49 | 应用消息 | 见下方"应用消息子类型"详细说明 |
| 50 | 通话 | 语音/视频通话记录,XML 格式包含通话时长 |
| 10000 | 系统消息 | 撤回提示、入群通知、好友添加确认等 |
| 11000 | 系统通知 | 系统级通知 |
| 66 | 企微联系人 | 企业微信联系人卡片 |
| 67 | 企微客服 | 企业微信客服消息 |
应用消息子类型(Type 49)
Type 49 是一个"容器类型",内部 XML 的 <type> 标签进一步区分子类型。WeLink 通过内容关键词判断分类:
| 判断条件 | 类型名称 | 说明 |
|---|---|---|
含 wcpay + redenvelope | 红包 | 微信红包(个人红包、群红包、拼手气红包等) |
含 wcpay 不含 redenvelope | 转账 | 微信转账 |
含 refermsg | 引用 | 引用/回复他人消息 |
含 weappinfo 或 miniprogram | 小程序 | 分享小程序卡片 |
<type>5</type> / <type>4</type> / <type>6</type> | 链接/文件 | 网页链接、文件传输 |
<type>51</type> / <type>63</type> | 视频号 | 视频号内容分享、视频号直播 |
| 其他 | 其他 | 群公告 (<type>53</type>)、音乐分享 (<type>76</type>)、群接龙 (<type>87</type>) 等 |
应用消息 <type> 编号参考
以下是已知的 type 49 内部子类型编号:
<type> | 说明 |
|---|---|
| 1 | 文本链接(早期格式) |
| 2 | 图片链接 |
| 3 | 音乐分享(旧版) |
| 4 | 文件传输(发送方) |
| 5 | 网页/公众号文章链接 |
| 6 | 文件传输(接收方) |
| 8 | GIF 动图(表情商店) |
| 17 | 实时位置共享 |
| 19 | 合并转发的聊天记录 |
| 24 | 收藏笔记分享 |
| 40 | 好友推荐 |
| 51 | 视频号视频分享 |
| 53 | 群公告 |
| 57 | 引用消息(XML 结构引用) |
| 62 | 短视频(朋友圈) |
| 63 | 视频号直播 |
| 76 | 音乐分享 |
| 87 | 群待办/群接龙 |
| 92 | 拍一拍(新版本) |
| 101 | 音乐分享(新版本) |
| 124 | 未知(极少量) |
内容存储
压缩机制
微信数据库使用 WCDB_CT_message_content 字段标识内容压缩方式:
| 值 | 含义 |
|---|---|
| 0 | 未压缩,message_content 为原始 UTF-8 文本 |
| 4 | zstd 压缩,需解压后才能获得原始 XML/文本 |
所有 type 49 的消息几乎都是 zstd 压缩的。读取时必须先检查 WCDB_CT_message_content,如果为 4 则需要 zstd 解压。
群消息格式
群聊中的消息 message_content 格式为:
wxid_xxxxx:\n实际消息内容即发送者 wxid + 冒号 + 换行 + 正文。real_sender_id 字段关联 Name2Id 表可获取发送者身份。
WeLink 中的统计方式
WeLink 在以下场景使用消息类型:
- 消息类型分布饼图(私聊 & 群聊):分类为 文本/图片/语音/视频/表情/引用/小程序/链接文件/红包/转账/位置/名片/通话/视频号/其他
- 红包/转账统计(私聊详情):分别统计红包和转账次数,记录每笔时间和收发方向
- 联系人列表:红包/转账总数支持排序
- 撤回统计:type 10000 中的撤回提示单独统计