Skip to content

message_x.db

lzb112 edited this page Feb 10, 2026 · 3 revisions

消息数据

存储结构变化

从新版微信来看,现在不再是所有消息都存在一个表里面了,拆开了在每个联系人都有自己的聊天记录表。接着一个联系人的表会出现在多个 dbfile 里面,所以有单读一个 dbfile 会导致读取数据不全。

image

表结构示例

CREATE TABLE "Msg_ec7acfb41448af5ec95fe36592ff3746" (
  "local_id" INTEGER,
  "server_id" INTEGER,
  "local_type" INTEGER,
  "sort_seq" INTEGER,
  "real_sender_id" INTEGER,
  "create_time" INTEGER,
  "status" INTEGER,
  "upload_status" INTEGER,
  "download_status" INTEGER,
  "server_seq" INTEGER,
  "origin_source" INTEGER,
  "source" TEXT,
  "message_content" TEXT,
  "compress_content" TEXT,
  "packed_info_data" BLOB,
  "WCDB_CT_message_content" INTEGER DEFAULT NULL,
  "WCDB_CT_source" INTEGER DEFAULT NULL,
  PRIMARY KEY("local_id" AUTOINCREMENT)
);

关键字段

主要关注以下字段:

  • real_sender_id 发送人id, 这个在当前的message.db里面有个name2id的表,real_sender_id=这个表的id序号,根据这个id序号找到对应的wxid,找去contact.db找到对应的联系人
  • message_content 根据下面字段展示明文还是压缩后的blob
  • WCDB_CT_message_content 0=未压缩 4=压缩

Clone this wiki locally