• shenapex

    如果帖子已被锁定无法编辑,请前往网站查看更新

    目前对于NTQQ已经有了较为完善的全平台解密教程,但针对其数据库结构的逆向解析工作仍缺乏系统性突破,互联网上只有一部分对列名的分析,NTQQ数据库不仅文件多表名列名也多,想要理清其中的含义是一个大工程,希望佬友在闲暇之余能一起来完善它吧^-^

    不知道如何解密数据库?可按照仓库教程解密

    github.com

    图片

    GitHub - QQBackup/qq-win-db-key: 全平台 QQ 聊天数据库解密

    全平台 QQ 聊天数据库解密

    或者在网站阅读教程

    致谢:

    1、qq-win-db-key

    2、GroupChatAnnualReport

    3、失迹の博客

    一些说明

    1、若无特殊标注,以下uin均代指QQ号

    2、对于可变变量均使用{}包裹,如{uin}即表示对应的QQ号

    3、无特别说明时间戳均为秒级

    4、对于部分用处不大的列名可能不会写出

    5、无用的表名不会被列出

    db文件内容分析

    /data/user/0/com.tencent.mobileqq/databases/nt_db/nt_qq_{QQ_path_hash}/路径下db文件分析(其余客户端基本也符合这个结构)

    是否完成分析 |
    数据库名字 |
    分析 |

    图片 |
    nt_msg.db |
    聊天数据文件 |

    图片 |
    profile_info.db |
    联系人信息 |

    图片 |
    rich_media.db |
    (群聊或私聊发送/接收的文件信息,有待分析) |

    图片 |
    files_in_chat.db |
    媒体文件信息(包括下载的图片视频路径) |

    图片 |
    recent_contact.db |
    (推测为黑名单,待测试) |

    图片 |
    gpro_v1-6_{nt_uid}.db |
    (由于暂未实现数据库解密无法分析) |

    图片 |
    group_info.db |
    群聊信息(包含群头像,群成员等) |

    图片 |
    guild_msg.db |
    频道聊天数据 |

    图片 |
    collection.db |
    QQ收藏数据 |

    图片 |
    file_assistant.db |
    已下载文件存放数据 |

    图片 |
    misc.db |
    见下表 |

    图片 |
    emoji.db |
    (存贮QQ表情包的数据库,不再分析) |

    图片 |
    group_msg_fts.db |
    本地搜索使用的数据库 |

    图片 |
    data_line_msg_fts.db |
    本地搜索使用的数据库 |

    图片 |
    buddy_msg_fts.db |
    本地搜索使用的数据库 |

    图片 |
    discuss_msg_fts.db |
    本地搜索使用的数据库 |

    图片 |
    msg_fts.db |
    本地搜索使用的数据库 |

    图片 |
    rdelivery.db |
    (文件中未发现有效信息) |

    图片 |
    settings.db |
    (无法理解的设置信息,有效信息很少,不再分析) |

    图片 |
    yffm.db |
    (文件中未发现有效信息) |

    注:

    已被删除本人数据库中未发现有意义的数据,因此后续不再探查

    蓝色字体是存在有效信息的数据库,有待继续分析

    ^-^的是已完成对表名的分析(列名会单独重开分析)

    当然如果你发现你号对应的db中含有有价值的数据也欢迎提出,再分析……(

    各db文件分析

    nt_msg.db

    group_msg_table

    群聊数据 group_msg_table 表中的部分列含义如下:

    列名 |
    类型 |
    MsgRecord |
    说明 |

    40001 |
    int |
    msgId |
    消息ID,具有唯一性 |

    40002 |
    int |
    msgRandom |
    消息随机值,用于对消息去重 |

    40003 |
    int |
    msgSeq |
    群聊消息ID,在每个聊天中依次递增 |

    40010 |
    int |
    chatType |
    聊天类型,私聊为1,群聊为2,频道为4,公众号为103,企业客服为102,临时会话为100 |

    40011 |
    int |
    msgType |
    消息类型,详见下表 |

    40012 |
    int |
    subMsgType |
    pb消息类型,详见下表 |

    40013 |
    int |
    sendType |
    发送标志,本机发送的消息为1,其他客户端发送的为2,别人发的消息为0 ,转发消息为5,在已退出或被封禁的消息中为当日整点时间戳 |

    40020 |
    str |
    senderuid |
    nt_uid, 对应 nt_uid_mapping_table |

    40021 |
    str |
    peeruid |
    会话ID |

    40027 |
    int |
    peeruin |
    会话ID |

    40041 |
    int |
    sendStatus |
    发送状态,2为成功,0为发送被阻止(如不是对方好友),1为尚未发送成功(比如网络问题),3为消息被和谐 |

    40050 |
    int |
    msgTime |
    发送消息时的完整时间戳,UTC+8:00 |

    40090 |
    str |
    sendMemberName |
    发送者群名片,旧版 QQ 迁移数据中格式为 name(12345) 或 name<[email protected]>, QQNT 中为群名片 |

    40093 |
    str |
    sendNickName |
    发送者昵称,旧版 QQ 此字段为空,QQNT 中未设置群名片时才有此字段 |

    40080 |
    protobuf |
    聊天消息,最为复杂 |
    尚未解析完 |

    40900 |
    protobuf |
    不同情况下存在不一样的数据(以列40011为区分) |
    值为8时,列40900存贮转发聊天的缓存
    值为9时,列40900存贮引用的消息 |

    40005 |
    int |
    只知道自己发的消息一定概率存在数值 |
    正常情况为0 |

    40058 |
    int |
    当日 0 时整的时间戳格式 |
    时区为 GMT+0800 |

    40006 |
    int |
    elem id? |
    不知道用处 |

    40100 |
    int |
    @状态 |
    详见下表 |

    40600 |
    protobuf |
    状态标志? |
    protobuf 格式,详见说明 |

    40060 |
    int |
    已退出或已解散的群聊标志 |
    |

    40850 |
    int |
    回复消息序号 |
    该消息所回复的消息的序号 |

    40801 |
    protobuf |
    无法理解的protobuf |
    |

    40030 |
    int |
    群号 |
    QQNT 保存的群号 |

    40033 |
    int |
    发送者 QQ 号 |
    QQNT 保存的发送者 QQ 号 |

    40062 |
    protobuf |
    存贮详细表态信息(包括表态表情和表态数量) |
    其数字与QQBOT中表情编号对应(超级表情不在此列表中) |

    40083 |
    int |
    表态表情数量总和 |
    |

    40084 |
    int |
    表态表情数量总和 |
    |

    group_at_me_msg

    被@消息

    列名 |
    MsgRecord |
    含义 |

    40001 |
    Msgid |
    消息ID |

    40027 |
    peeruin |
    群号 |

    40020 |
    senderUid |
    @我的成员的nt_uid |

    40100 |
    atTypeArray |
    @类型数组
    有人 @ 我:6;@ 群里所有人:1 |

    40050 |
    timestamp |
    消息时间戳 |

    40003 |
    msgSeq |
    群聊消息ID,在每个群聊中依次递增 |

    recent_contact_top_table

    置顶聊天信息

    列名 |
    含义 |

    40010 |
    聊天类型 |

    41103 |
    置顶时间 |

    1000 |
    当置顶聊天为私聊时,此处显示uin |

    60001 |
    当置顶聊天为群聊时,此处显示peeruin |

    recent_contact_v3_table

    聊天对象资料信息

    列名 |
    MsgRecord |
    含义 |

    40010 |
    chatType |
    见上表 |

    40021 |
    peeruin / nt_uid |
    |

    40030 |
    uin |
    c2c才有此值,group此值均为0 |

    40051 |
    lastMessage |
    protobuf,最后一条消息 |

    40041 |
    sendStatus |
    见上表 |

    40050 |
    lastTime |
    最后一条消息的时间戳,单位:秒 |

    40003 |
    msgSeq |
    |

    40094 |
    source |
    来源 |

    40093 |
    sendNickName |
    |

    40090 |
    sendMemberName |
    |

    40095 |
    sendremarkName |
    成员备注名称 |

    40020 |
    nt_uid |
    |

    40033 |
    uin |
    |

    41110 |
    groupavatar |
    群头像本地缓存路径 |

    41135 |
    |
    当通过群聊发起聊天时,显示对应群昵称 |

    注意:以下信息可能存在不准确性:

    所有值均为本人通过自己的聊天信息推断而来,可能存在未发现或错误分析,欢迎大佬指正

    40011部分值信息解读

    展开阅读

    疑似用于区分消息类型

    无消息(消息损坏?多见于已退出群聊且时间久远):0

    消息空白(msgid存在,应该是没加载出来):1

    text文本消息:2

    群文件:3

    我的聊天记录里没有4~大佬带带>︿<

    系统(灰字)消息:5

    语音消息:6

    视频文件:7

    合并转发消息:8

    回复类型消息:9

    红包:10

    应用消息:11

    40012部分值信息解读

    展开阅读

    疑似用于区分pb消息类型

    非常规text消息:0

    普通文本消息:1

    群文件其他类型消息:1

    图片消息:2

    群文件图片消息:2

    群公告:3

    群文件视频消息:4

    撤回消息提醒:4

    群文件音频消息:8

    原创表情包:8

    射精消息:11

    拍一拍消息:12

    群文件docx消息:16

    平台文本消息:32

    群文件pptx消息:32

    回复类型消息:33

    群文件xlsx消息:64

    存在链接:161

    群文件zip消息:512

    群文件exe消息:2048

    表情消息:4096

    40011与40012组合可判断消息类型

    一些常见消息组合

    由于优先级问题(特别是2类别的信息),部分消息不满足以下规则

    空消息:0,0

    已撤回消息:1,0

    普通文本类消息:2,1

    图片消息:2,2

    只带图片的纯文本消息:2,3

    纯表情消息:2,16

    带表情的纯文本消息:2,17

    带图片带表情的纯文本消息:2,19

    纯链接消息:2,129

    带表情链接消息:2,145

    机器人消息:2,577

    机器人Markdown消息:2,65

    @消息:2,35

    回复引用消息(不带表情):2,33

    回复引用消息(带表情):2,49

    收藏表情:2,2

    收藏表情包:2,4096

    群文件其他类型消息:3,1

    群文件图片(png,jpg)消息:3,2

    群文件视频消息:3,4

    群文件音频(mp3,flac)消息:3,8

    群文件docx消息:3,16

    群文件pptx消息:3,32

    群文件xlsx消息:3,64

    群文件zip消息:3,512

    群文件exe消息:3,2048

    拍一拍消息:5,12

    撤回消息提醒:5,4

    amr语音文件消息:6,0

    视频文件消息:7,0

    合并转发消息:8,0

    回复消息:9,33

    回复带图片消息(无@):9,34

    回复带图片消息(有@):9,35

    回复带图片带@:9,35

    回复卡片引用消息:9,49

    带表情回复:9,49

    带表情带图片带@:9,51

    回复存在链接的消息:9,161

    红包:10,0

    应用消息(如小程序):11,0

    群公告:11,3

    表情包:17,8

    原创表情:17,8

    40100值解读

    值为6:有人@我;为2,有人@他人;为0,此条消息不包含@

    40600值解读

    展开阅读

    当40600(16进制)值为14 00时,为回复消息

    此时:40100的值:

    为6代表有人回复自己,为2代表他人回复他人

    当40600(16进制)值为c2e91304a8d114****时(不唯一),为撤回消息

    c2c_msg_table

    私聊数据 c2c_msg_table 表中的部分列含义如下:

    列名 |
    类型 |
    含义 |
    说明 |

    40030 |
    int |
    私聊对象 QQ 号 |
    对方 QQ 号(无论是对方还是自己发送的消息) |

    40033 |
    int |
    发送者 QQ 号 |
    发送者的 QQ 号 |

    40050 |
    int |
    时间 |
    时间戳(单位为秒) |

    40058 |
    int |
    日期 |
    当日 0 时整的时间戳格式 |

    40093 |
    str |
    消息发送者 |
    QQ 昵称或是备注名 |

    40800 |
    bytes |
    消息内容 |
    protobuf 格式 |

    Protobuf 消息格式

    消息内容 protobuf 的部分字段含义如下:

    Field Number |
    类型 |
    含义 |
    说明 |

    48000 |
    protobuf 或 protobuf array |
    消息段 |
    一条消息中可以有多个消息段,按内容顺序,类似于富文本;部分类型中可嵌套 |

    消息段(48000)的部分字段含义如下:

    Field Number |
    类型 |
    MsgRecord |
    说明 |
    所属Element |

    40010 |
    int |
    chatType |
    |
    |

    45001 |
    int |
    elementId |
    元素id,与msgid一样,具有唯一性 |
    |

    45002 |
    int |
    elementType |
    |
    详见下表 |

    45003 |
    int |
    subElementType |
    ?未确定 |
    |

    45004 |
    str |
    msgid |
    +faceType |
    |

    45101 |
    str |
    content |
    文本消息 |
    text |

    45102 |
    str |
    text |
    语音转文字 |
    pttElement |

    45402 |
    str |
    fileName |
    文件名 |
    file、ptt |

    45403 |
    str |
    filePath |
    文件路径 |
    file 、ptt |

    45405 |
    int |
    fileSize |
    文件大小 |
    fileElement 、pttElement |

    45406 |
    int |
    md5HexStr |
    视频消息中对应videoMD5 |
    fileElement |

    45407 |
    bytes |
    file10MMD5 |
    |
    file、ptt 文件消息才存在 |

    45408 |
    bytes |
    fileSha |
    |
    file文件消息才存在 |

    45409 |
    bytes |
    fileSha3 |
    |
    file 文件消息才存在 |

    45410 |
    int |
    videotime |
    视频时间 |
    videoElement、fileElement |

    45411 |
    int |
    thumbWidth |
    预览封面宽度 |
    videoElement |

    45412 |
    int |
    thumbHeight |
    预览封面高度 |
    videoElement |

    45413 |
    int |
    thumbWidth |
    预览封面宽度 |
    |

    45414 |
    int |
    thumbHeight |
    预览封面高度 |
    |

    45415 |
    int |
    thumbSize |
    预览封面大小 |
    videoElement |

    45416 |
    int |
    picType |
    图片类型,1000为静态图片,2000为GIF |
    picElement |

    45418 |
    int |
    original |
    |
    |

    45422 |
    str |
    thumbfilename |
    (非官方)预览封面路径
    位于半私有目录/Tencent/MobileQQ/shortvideo/thumbs/ |
    videoElement |

    45424 |
    string|bytes |
    originImageMd5 |
    |
    |

    45503 |
    str |
    fileUuid |
    |
    |

    45411 |
    int |
    picWidth |
    原图宽度 |
    |

    45412 |
    int |
    picHeight |
    原图宽度 |
    |

    45862 |
    bytes |
    thumbMD5 |
    预览封面MD5(对于45422文件) |
    videoElement |

    45906 |
    int |
    duration |
    语音持续时间 |
    pttElement |

    45923 |
    str |
    text |
    语音转文字 |
    pttElement |

    45925 |
    bytes |
    waveAmplitudes |
    信号频率 |
    pttElement |

    45954 |
    str |
    picThumbPath |
    预览封面路径 |
    fileElement |

    47401 |
    int |
    replaymsgid |
    引用的消息msgid |
    replyElement |

    47402 |
    int |
    replayMsgSeq |
    引用的消息seq |
    replyElement |

    47403 |
    int |
    replymsgTime |
    引用的消息发送时间戳 |
    replyElement |

    47404 |
    int |
    replymsgTime |
    引用的消息发送时间戳 |
    replyElement |

    47413 |
    str |
    引用的消息 |
    仅文本 |
    replyElement |

    47421 |
    str |
    引用方群昵称 |
    |
    replyElement |

    47422 |
    int |
    sourceMsgIdInRecords |
    |
    replyElement |

    47601 |
    int |
    faceindex |
    表情ID |
    faceElement |

    47602 |
    str |
    facetext |
    表情含义(外显文字) |
    |

    47901 |
    str |
    bytesData |
    卡片详细信息 |
    |

    49155 |
    int |
    msgTime |
    发送时间 |
    |

    95654 |
    int |
    thumbSize |
    预览封面大小 |
    fileElement |

    47713 |
    str |
    撤回消息后缀 |
    适用于系统撤回消息 |
    系统撤回消息 |

    48602 |
    str |
    XML 消息内容 |
    适用于 XML 消息 |
    XML 消息 |

    elementType说明

    值 |
    MsgRecord |
    说明 |

    1 |
    textElement |
    文本段 |

    2 |
    picElement |
    图片段 |

    3 |
    fileElement |
    文件消息 |

    4 |
    pttElement |
    语音消息 |

    5 |
    videoElement |
    视频消息 |

    6 |
    faceElement |
    QQ系统表情 |

    7 |
    replyElement |
    引用 |

    8 |
    grayTipElement |
    系统消息(灰字提示) |

    9 |
    WalletElement |
    红包消息 |

    10 |
    arkElement |
    卡片消息 |

    11 |
    marketFaceElement |
    商城表情 |

    14 |
    markdownElement |
    markdown消息 |

    17 |
    inlineKeyboardElement |
    markdown按钮消息 |

    27 |
    faceBubbleElement |
    弹射表情包 |

    28 |
    shareLocationElement |
    位置共享 |

    其中消息类型(45002)的已知消息类型与对应序号如下:

    45002 |
    含义 |
    说明 |

    1 |
    文本消息 |
    普通纯文本消息,以及 at 消息本质上为独立成消息段且内容为 “@群昵称” 的消息,包含于此 |

    2 |
    图片消息 |
    |

    3 |
    文件消息 |
    |

    4 |
    语音消息 |
    |

    6 |
    表情 |
    https://bot.q.qq.com/wiki/develop/api/openapi/emoji/model.html |

    7 |
    引用 |
    即常说的“回复”,位于消息段开头,其后为正式消息 |

    8 |
    系统消息 |
    显示于屏幕中央的灰色小字提示,如撤回、接收文件 |

    10 |
    应用消息 |
    |

    11 |
    表情 |
    |

    16 |
    XML 消息 |
    转发聊天记录本质上也是 XML 消息,包含于此 |

    21 |
    通话消息 |
    |

    26 |
    动态消息 |
    |

    profile_info.db

    profile_info |
    |
    |

    完成解析 |
    表名 |
    分析 |

    图片 |
    buddy_list |
    好友相关信息 |

    图片 |
    buddy_req_list_5 |
    好友通知 |

    图片 |
    category_list_v2 |
    好友分组信息 |

    图片 |
    profile_info_adelie |
    机器人信息 |

    图片 |
    profile_info_v6 |
    QQ用户信息存贮(包括QID,uin,用户名,个性签名等信息) |

    展开查看列名分析

    buddy_list

    好友相关信息

    列名 |
    类型 |
    含义 |
    说明 |

    1000 |
    str |
    nt_uid |
    |

    1001 |
    str |
    QID |
    |

    1002 |
    int |
    uin |
    |

    25007 |
    int |
    分组标识 |
    当在默认分组(哪怕已改名)中值为null |

    buddy_req_list_5

    好友通知

    列名 |
    类型 |
    含义 |
    说明 |

    21204 |
    int |
    时间戳 |
    UTC+8:00 |

    21001 |
    str |
    对方nt_uid |
    |

    20002 |
    str |
    用户昵称 |
    |

    21502 |
    int |
    申请是否通过 |
    0为通过,1为验证中 |

    21508 |
    str |
    验证消息 |
    |

    21509 |
    str |
    申请来源 |
    |

    21505 |
    int |
    验证状态 |
    1为等待通过,2为同意验证,13为验证过期(?) |

    60001 |
    int |
    来源群号 |
    |

    21501 |
    int |
    申请方标识 |
    1为他人发送的申请,0为自己发送的申请 |

    category_list_v2

    好友分组信息

    其中25011为protobuf格式,代表着分组

    Field Number |
    含义 |
    说明 |

    25007 |
    分组序号 |
    0为默认分组 |

    25008 |
    分组名称 |
    |

    25010 |
    分组人数 |
    As uint(该分组总人数)/As sint(当前在线人数) |

    profile_info_adelie:机器人信息

    profile_info_v6

    QQ用户信息

    列名 |
    类型 |
    含义 |
    说明 |

    1001 |
    str |
    QID |
    设置了才有否则为null |

    1002 |
    int |
    uin |
    |

    20002 |
    str |
    用户昵称 |
    |

    20009 |
    str |
    用户备注 |
    |

    20011 |
    str |
    个性签名 |
    |

    1000 |
    str |
    nt_uid |
    |

    20004 |
    str |
    头像链接 |
    s后面需要带参数,如s=640/100 |

    21000 |
    protobuf |
    “尊贵身份标识符” |
    protobuf |

    20072 |
    – |
    是否为好友 |
    hex值为c2e60900表示为好友 |

    24105 |
    protobuf |
    个性签名校验值 |
    |

    group_info.db

    |
    group_info.db |
    |

    完成解析 |
    表名 |
    分析 |

    图片 |
    group_avatar |
    据名称推断是群头像,未经验证 |

    图片 |
    doubt_group_notify_list |
    过滤群通知 |

    图片 |
    group_bulletin |
    群公告(只有最新一条会被存贮) |

    图片 |
    group_detail_info_ver1 |
    群聊更多信息 |

    图片 |
    group_essence |
    群精华消息 |

    图片 |
    group_list |
    群聊名称列表 |

    图片 |
    group_member3 |
    群成员信息 |

    图片 |
    group_member_level_info |
    群等级头衔信息 |

    图片 |
    group_notify_list |
    群通知 |

    展开查看列名分析

    group_notify_list与doubt_group_notify_list

    群通知

    列名 |
    类型 |
    含义 |
    说明 |

    61001 |
    int |
    消息时间戳 |
    删除末三位并使用毫秒级时间戳 |

    61002 |
    int |
    状态 |
    详见下方说明 |

    61003 |
    int |
    验证状态 |
    1为过滤,0为正常,2为同意,3为拒绝,4为忽略 |

    61004 |
    protobuf |
    群组信息 |
    群号与群昵称 |

    61005 |
    protobuf |
    被操作者 |
    nt_uid与QQ昵称 |

    61006 |
    protobuf |
    操作者 |
    显示于group_notify_list,nt_uid 与QQ昵称 |

    61007 |
    protobuf |
    操作人信息 |
    显示于doubt_group_notify_list,nt_uid与QQ昵称 |

    61008 |
    int |
    操作时间戳 |
    秒级时间戳 |

    61009 |
    |
    |
    |

    61010 |
    str |
    对方附加说明 |
    |

    61011 |
    str |
    系统附加说明 |
    如风险提示 |

    61001说明

    申请加群:1

    被设置为管理员:3

    被移出群聊:6

    被管理员拒绝加入:11

    自主退出群聊:13

    被取消管理员权限:15

    group_bulletin

    群公告

    列名 |
    类型 |
    含义 |
    说明 |

    60001 |
    int |
    peerUid(群号) |
    |

    64205 |
    protobuf |
    群公告内容 |
    protobuf格式,详见下 |

    64205为protobuf格式

    Byte Range |
    Field Number |
    Type |
    含义 |

    0-1089 |
    64205 |
    protobuf |
    |

    ├─ 0-8 |
    60001 |
    varint |
    群号 |

    ├─ 8-1084 |
    64202 |
    protobuf |
    |

    │ ├─ 0-8 |
    60001 |
    varint |
    群号 |

    │ ├─ 8-36 |
    64221 |
    string |
    发布公告者nt_uid |

    │ ├─ 40-76 |
    64223 |
    string |
    fid |

    │ ├─ 80-88 |
    64225 |
    varint |
    msgTime(消息发布时间) |

    │ ├─ 88-96 |
    64226 |
    varint |
    ctime(公告发布时间) |

    │ └─ 4-17 |
    64452 |
    string |
    群公告内容 |

    group_detail_info_ver1

    群聊更多信息

    列名 |
    类型 |
    含义 |
    说明 |

    60001 |
    int |
    群号 |
    |

    60007 |
    str |
    群名称 |
    |

    60216 |
    protobuf |
    最新一条置顶公告 |
    仅存贮外显部分内容* |

    60217 |
    protobuf |
    群描述* |
    |

    60026 |
    str |
    群备注* |
    |

    60002 |
    str |
    群主nt_uid |
    |

    60004 |
    int |
    建群时间 |
    |

    60005 |
    int |
    群聊规模 |
    最大可容纳人数 |

    60006 |
    int |
    成员总人数 |
    |

    60218 |
    str |
    群标签* |
    |

    60224 |
    str |
    入群问题* |
    |

    60240 |
    protobuf |
    群描述 |
    旧版QQ迁移数据 |

    60340 |
    int |
    退群标志 |
    0为群成员,为已不是群成员 |

    *表示不一定存在数据

    注意到group_list表中信息与group_detail_info_ver1对应,不再单独分析·如果有大佬能帮忙分析最好了

    group_member3

    群成员信息

    列名 |
    类型 |
    含义 |
    说明 |

    64003 |
    str |
    群昵称* |
    未设置为空 |

    20002 |
    str |
    QQ昵称 |
    |

    60001 |
    int |
    所在群聊群号 |
    |

    1000 |
    str |
    nt_uid |
    |

    1002 |
    int |
    uin |
    QQ号 |

    64007 |
    int |
    入群时间 |
    |

    64008 |
    int |
    最后发言时间 |
    |

    64009 |
    int |
    最近一次禁言解封时间戳 |
    |

    64010 |
    int |
    管理员标志 |
    0为普通成员,1为管理员 |

    64015 |
    int |
    |
    |

    64016 |
    int |
    是否为群成员 |
    0为是,1为已退群 |

    64023 |
    str |
    群自定义头衔* |
    |

    64035 |
    int |
    群成员等级 |
    |

    group_member_level_info

    群等级头衔信息

    列名 |
    类型 |
    含义 |
    说明 |

    60001 |
    int |
    群号 |
    |

    67100 |
    int |
    群等级 |
    |

    67103 |
    protobuf |
    默认群头衔信息 |
    |

    group_essence

    精华消息设置提醒

    列名 |
    类型 |
    含义 |
    说明 |

    60001 |
    int |
    群号 |
    |

    67501 |
    int |
    msgSeq 群聊消息ID |
    在每个群聊中依次递增 |

    67502 |
    int |
    msgRandom |
    消息随机值,用于对消息去重(用于定位) |

    67503 |
    int |
    uin |
    消息发送者QQ号 |

    67504 |
    str |
    QQ昵称 |
    发送者QQ昵称 |

    67505 |
    int |
    设置状态 |
    1为被设置为精华,2为已被取消精华 |

    67506 |
    int |
    uin |
    设置精华者QQ号 |

    67507 |
    str |
    QQ昵称 |
    设置精华者QQ昵称 |

    67508 |
    int |
    时间戳 |
    设置精华的时间 |

    emoji.db

    展开查看

    base_sys_emoji_table

    QQ默认表情数据

    列名 |
    类型 |
    含义 |
    说明 |

    81211 |
    str |
    表情ID |
    |

    81212 |
    str |
    表情描述(外显文字) |
    |

    81218 |
    protobuf |
    protobuf格式 |
    为81229与81230的下载链接内容 |

    81221 |
    int |
    特殊类表情标识 |
    0为正常,1为特殊 |

    81224 |
    int |
    特殊限定类表情标识 |
    |

    81225 |
    int |
    特殊限定类表情标识 |
    |

    81226 |
    int |
    EmojiType |
    系统表情为1,emoji表情为2,动态可变表情为3(比如掷骰子) |

    81266 |
    int |
    表情类型说明 |
    |

    81229 |
    str |
    静态图片下载地址 |
    |

    81230 |
    str |
    APNG图片下载地址 |
    emoji 表情没有此链接 |

    bottom_emoji_table:protobuf格式,包含该账号下已收藏的原创表情数据

    emoji_config_storage_table:QQ系统表情数据

    emoji_group_table:包含表情ID说明(如 超级表情0-16)

    emoji_misc_data_table:QQ默认表情下载地址

    fav_emoji_info_storage_table

    QQ收藏表情数据

    列名 |
    类型 |
    含义 |
    说明 |

    80002 |
    str |
    文件名 |
    格式为{uin}_0_0_0_{MD5}_0_0 |

    80001 |
    int |
    表情排序 |
    倒序,即最新的收藏表情序号为0 |

    1002 |
    str |
    收藏用户uin |
    |

    80012 |
    str |
    本地存贮路径 |
    |

    80010 |
    str |
    下载地址 |
    格式为hxxps://p.qpic.cn/qq_expression/{1002}/{8002}/0 |

    80011 |
    str |
    表情MD5 |
    32位大写 |

    80213 |
    int |
    是否为原创表情 |
    0为否,1为是 |

    80201 |
    str |
    原创表情标识符 |
    当80213为1时,显示为对应原创表情的标识符 |

    80202 |
    int |
    原创表情包ID |
    当80213为1时,显示对应原创表情包ID |

    80223 |
    str |
    表情备注 |
    |

    80225 |
    str |
    表情备注 |
    |

    market_emoticon_package_table

    原创表情市场

    列名 |
    含义 |
    说明 |

    80943 |
    原创表情 ID |
    知道 ID 可在 ../{uin}/nt_qq/nt_data/Emoji/marketface/{ID} 找到已缓存的原创表情包 |

    80947 |
    原创表情包名字 |
    |

    80948 |
    表情包说明 |
    |

    market_emoticon_table

    已下载的原创表情信息

    列名 |
    含义 |
    说明 |

    80920 |
    表情标识符 |
    |

    80943 |
    原创表情包 ID |
    |

    80921 |
    表情描述 |
    外显文字 |

    collection.db

    展开查看

    collection_list_info_table

    收藏信息

    列名 |
    类型 |
    含义 |
    注 |

    180001 |
    str |
    sid |
    用于确定唯一性 |

    180008 |
    int |
    type |
    详见下表,用于区分收藏类型 |

    180011 |
    int |
    last updated time |
    最后编辑时间 |

    180004 |
    protobuf |
    Source Info |
    protobuf,详见下表 |

    180009 |
    int |
    frist time |
    创建/收藏时间 |

    180015 |
    protobuf |
    summary info |
    protobuf,摘要信息,详见下表 |

    收藏类型

    值 |
    注 |

    1 |
    来源于聊天记录(文本类消息) |

    2 |
    QQ笔记 |

    9 |
    带有链接的聊天消息 |

    来源信息

    Field Number |
    注 |

    18504 |
    收藏来源群号 |

    18505 |
    群名称 |

    18506 |
    发送者nt_uid |

    18501 |
    发送者QQ号 |

    180503 |
    备注名/群员名称/用户昵称 |

    摘要信息

    Field Number |
    注 |

    181450 |
    标题(可为空) |

    181452 |
    外显描述内容 |

    181453
    18504
    180550
    180553 |
    图片信息
    来源会话
    图片URL
    图片名称 |

    180561 |
    图片本地缓存路径 |

    180610 |
    文件保存位置 |

    content_list_info_table

    - 聊天记录和笔记类收藏才存在此信息

    列名 |
    类型 |
    含义 |
    注 |

    180700 |
    str |
    sid |
    与180001对应,可用于确定收藏消息 |

    180720 |
    int |
    last updated time |
    与180011对应,最后编辑时间 |

    180708 |
    protobuf |
    favorite content |
    protobuf,收藏实际内容 |

    files_in_chat.db

    展开查看

    files_in_chat_table

    列名 |
    类型 |
    含义 |
    注 |

    45001 |
    int |
    clientSeq |
    接收的图片顺序,在本地数据库中递增 |

    82300 |
    int |
    msgRandom |
    消息随机值,用于对消息去重 |

    40001 |
    int |
    msgid |
    消息ID |

    45403 |
    str |
    filepath |
    文件存贮路径 |

    45404 |
    str |
    thumbpath |
    预览图缓存路径(多见于视频) |

    40020 |
    str |
    nt_uid |
    发送者nt_uid |

    40021 |
    str |
    peeruid/senderuin |
    来源群号/QQ号 |

    40010 |
    int |
    chatType |
    聊天类型,具体见此 |

    82301 |
    int |
    未查明 |
    |

    45002 |
    int |
    ElementType |
    |

    45003 |
    int |
    subElementType |
    |

    45402 |
    str |
    fileName |
    文件名 |

    45405 |
    int |
    fileSize |
    文件大小(KB) |

    40050 |
    int |
    msgTime |
    发送时间 |

    82302 |
    int |
    original |
    是否为原图,1为是,0为否 |

    - 这里面主要存贮的是有关下载文件、语音文件、视频文件的信息

    图片大部分45403值为空

    主楼
  • 大帅哥

    图片

    太强了!能不能爆破别人的数据库

    #1
  • shenapex

    安卓端高版本QQ理论上你能拿到他的数据库文件就可以直接解密力(

    win端密钥是动态下发的,所以想要直接算密钥目前还没有办法

    #2
  • 宇宇

    太厉害了佬

    图片

    #3
  • XIANG

    太强了

    @bbb 快来学习爆破

    图片

    #4
  • jadap46647

    太强了佬,感谢分享,学习了

    #5
  • 樱悦(酒馆腻了中)

    这也能弄到

    #6
  • shenapex

    我也只是肉眼观察得来

    图片

    和大佬还有很大差距

    #7
  • muscipular

    看来qq的数据库比微信复杂多了。。。

    #8
  • hnres

    不是?这也太强了吧

    #9
  • lenluo

    佬友是真的强

    #10
  • IO01

    group_msg_fts.db 疑似为纯文本群聊消息贮存

    fts 这个关键字一看就是消息的本地搜索, full-text searches

    #11
  • shenapex

    感谢大佬解惑 ^-^这下明白为啥要单独弄一个数据库出来了,原来是方便搜索啊

    #12
  • shenapex

    因为微信把所有数据全部塞在一个数据库里面了(

    #13
  • shenapex

    感觉现在已经晕头转向了……好多,整理起来好麻烦

    #14
  • shenapex

    现在才发现好多被我忽略的db文件是有有效信息的^-^也不知道当时怎么分析的……

    #15
  • 点赞的暴富

    现在新版qq能不能针对某个群聊,物理删除所有聊天图片,目前没找到这种工具,有数据库是不是能实现,现在群太多了一堆文件

    #16
  • shenapex

    新版qq能不能针对某个群聊,物理删除所有聊天图片

    有up做过捏

    github.com

    图片

    GitHub - tjxwork/qq_db_export_group_image_path_and_move_or_delete: QQ数据库导出群图片路径并移动或者删除

    QQ数据库导出群图片路径并移动或者删除

    这是视频,补个专栏

    纯新版似乎还没人做,但是目前我忙着整理数据库条目,思维很混乱(

    有能力可以自己编写脚本

    #17
  • dwd

    学习一下

    #18
  • voideluyi

    微信的有吗佬

    #19

发表回复

登录后回复