找回密码
 registerss
搜索
查看: 11|回复: 0

洱海月 v0-07-0300 封包解析:ID 998 GCDetailXinbiwu(新比武详情同步)

[复制链接]
  • 打卡等级:本地老炮
  • 打卡总天数:603
  • 打卡月天数:1
  • 打卡总奖励:600
  • 最近打卡:2026-10-03 06:32:28
Waylee 发表于 2026-4-15 16:37 | 显示全部楼层 |阅读模式 | Google Chrome | Windows 10

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?registerss

×

GCDetailXinbiwu 是当前客户端保留的新比武详情同步包。Game.exe 已能明确确认,它是固定 110 字节结构,在线路上按 detail_mode + detail_arg + 108 字节详情块的顺序读写;当前 /home/ubuntu/Game2 Lua 主链未发现同名协议定义。

包信息

项目 内容
封包 ID 998
包名 GCDetailXinbiwu
方向 GC 服务端 -> 客户端
固定包长 110
当前 Lua 协议定义 未发现
当前 Lua 发送入口 未发现
主要作用 同步一段新比武详情数据块,并按模式驱动客户端详情/大厅刷新

当前 Game.exe 可直接确认:

GCDetailXinbiwu
GetPacketID()   = 998;
GetPacketSize() = 110;
Read            = 0x140618570;
Write           = 0x1406185D0;
Execute thunk   = 0x140618560 -> sub_140080BC0;

包体结构

偏移 长度 字段 类型 含义
0x00 0x01 detail_mode uint8 详情处理模式;当前客户端确认 1/2 两个分支有效
0x01 0x01 detail_arg uint8 模式附加参数;detail_mode = 1 时会直接作为事件参数使用
0x02 0x6C detail_blob byte[108] 新比武详情原始数据块

当前客户端会完整消费这 108 字节数据块,但现役链路中还没有足够证据把它稳定拆成更细的字段,因此本文保持为 detail_blob。

当前实际行为

sub_140080BC0 的执行链已经足以确认三件事:

  1. 无论 detail_mode 取值如何,客户端都会先把 detail_blob[108] 交给 sub_14017A4C0(...) 写入本地新比武详情缓存。
  2. 当 detail_mode == 1 时,客户端会把 detail_arg 保存到本地状态区,并触发事件 946(detail_arg)。
  3. 当 detail_mode == 2 时,客户端会直接触发事件 947。

也就是说,这条包并不是简单的“只发一个 108 字节块”,而是:

  • 一段固定长详情块;
  • 外加一个驱动客户端 UI 分支的模式字节;
  • 以及一个可选的事件参数字节。

服务端落点

当前 /home/ubuntu/Game2 未发现这条协议的现役落点:

  • 未发现协议定义:/home/ubuntu/Game2/services/game/packet.lua
  • 未发现消息服入口:/home/ubuntu/Game2/services/msgagent.lua
  • 未发现世界服或场景服发送链:/home/ubuntu/Game2/services/world、/home/ubuntu/Game2/services/scene

关键代码

当前 Game.exe 的读写骨架

Read(stream) {
    read_u8(detail_mode);
    read_u8(detail_arg);
    read_bytes(detail_blob, 108);
}

当前 Game.exe 的执行结论

Execute() {
    update_local_xbw_detail_cache(detail_blob);
    if (detail_mode == 1) {
        save_detail_arg(detail_arg);
        fire_event(946, detail_arg);
    }
    if (detail_mode == 2) {
        fire_event(947);
    }
    return 2;
}

结论

  1. GCDetailXinbiwu(998) 是固定 110 字节的新比武详情同步包。
  2. 线上顺序可稳定写成 detail_mode + detail_arg + detail_blob[108]。
  3. 客户端会先导入详情块,再根据 detail_mode 触发事件 946 或 947。
  4. 当前 /home/ubuntu/Game2 未发现现役发送链,因此它更适合归类为客户端仍保留的旧新比武详情入口。
您需要登录后才可以回帖 登录 | registerss

本版积分规则

QQ|手机版|雪舞知识库 ( 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 )|天天打卡

GMT+8, 2026-10-4 11:26 , Processed in 0.065428 second(s), 26 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表