Files
IC.Rebuild/diagnostics/2026-10-11-capture-018-review.md
T

4.7 KiB
Raw Blame History

capture-018 首轮完整采样核验与 0.1.9 解析修正

日期:2026-10-11。用户在国际服 2026.09.15.0000.0000 完成 0.1.8 网络采集并导出 capture-018.jsonl。时间范围为上海时间 18:12:32—18:13:52,约 80.5 秒。

文件 SHA256:224AE627F6F6E613662745300C01493E411BDBE02CBA72366CCBD373DD28ECFF。

本地 Opcode 缓存 SHA256:2764186EA528587F15D07569816D413E77E8C38C572E4157787B3092BD6D1DB6。未修改用户导出文件或映射缓存。报告与测试不保存原始坐标、对象 ID 或完整载荷。

采集结果

检查 结果
记录数 891:上行 534,下行 357
完整标记 891 完整,0 仅元数据,0 CaptureIssue
序号 1—891 连续;单调时间顺序正常
载荷 合计 56,360 字节,单条 8—656 字节,无空载荷
客户端版本 全部匹配当前目标版本

36 的首轮完整采样通过文件核验。完整标记还通过已知包长度、当前原生发送构造及回显关系交叉核对。导出不含未形成记录的头部读取失败计数,不能据 CaptureIssue=0 宣称所有未记录调用都无异常;长期性能、反复启停、切图和卸载仍需独立验收。

暴露出的旧解析问题

0.1.8 解析器回放仅 2 条返回 Parsed=true(效果结果计数),502 条已有解析器的记录因长度不符被拒绝;其余为尚未接入或名称未知。两类不匹配为:

  • 494 个普通移动包,Opcode 920,实际载荷 24 字节,旧 .cs 声明 40 字节。
  • 8 个 Ping 请求,Opcode 838,实际载荷 32 字节,旧 .cs 声明 28 字节。

这是旧解析结构的问题,不是新采集随意截断或补齐载荷。原生依据:

  • 普通移动入口 RVA 0x62B680。0x62B6CD 写 Opcode 0x398(920);0x62B6D7 写消息长度 0x28。按已核实的发送长度契约减去 0x10,业务载荷确为 0x18。位置字段仍从业务载荷 +8 开始。
  • Ping 构造 RVA 0x1D02776 写 Opcode 0x346(838),0x1D0279C 写消息长度 0x30;业务载荷为 0x20。业务偏移 0 是本机毫秒计时值,偏移 4 来自网络模块的上一轮往返计时字段。

0.1.9 仅对完整客户端版本 2026.09.15.0000.0000 使用这些新长度。其他版本/无版本的旧离线调用保持旧行为,不将本次结论跨版本套用。

Ping 响应映射与语义

原缓存缺少 DOWN_PingRsp。下行 338(0x152)共 8 条、均 32 字节,业务偏移 0 与 8 条 Ping 请求逐一回显匹配。

原生 NetworkModule 在 0x1D0223A 以 0x152 选择分支;0x1D022E1 从 IPC 缓冲区 +0x10(业务偏移 0)读回显计时,0x1D022E7 与当前毫秒计时相减,0x1D022F2 存回网络往返字段。此证据支持本版本 DOWN_PingRsp=338。

响应业务偏移 4 在本次样本中均为 333;原生在 0x1D02307 起将其作为另一路参数使用,不能将它标作 RTT。界面改为未解释的 field04,RTT 仍按请求/响应回显匹配和采集时间差计算。

0.1.9 在有效非空映射加载后,仅当版本匹配、未已有 DOWN_PingRsp 名称且 338 未被占用时补充本地映射,来源注明“本机核实 PingRsp”。不覆盖显式映射,也不改写缓存 JSON。

8 组记录配对的往返时间范围 83.2034—116.8623 ms,平均 91.6752 ms。这是采集点观察值,包含接收调度时间,不宣称是纯网络传输延迟。

修正后的同文件回放

项目 0.1.8 0.1.9
有名称 716 724
无名称 175 167
Parsed=true 2 512
已有解析器但拒绝 502 0
Ping 配对 0 8

512 条包括普通移动 494、Ping 请求 8、Ping 响应 8、历史效果结果计数 2;后者仍只是有限计数检查,不能将 Parsed=true 理解为所有字段均被完整解释。724 条有名称记录中,另 212 条尚无已接入解析器。

剩余未知下行如下,先保留原始数据,不凭相近数值或长度猜名称:

Opcode 长度 数量
671 72 51
697 24 51
558 264 50
614 16 10
788 16 4
214 16 1

下一步优先核对高频未知 Opcode 与状态/动作结果的当前原生分派路径;8 的状态屏蔽仍不因取得样本就直接启用。

可复现验证

Tools/CaptureAudit 使用工程实际 PacketFiles、OpcodeMap、PacketParser 和 PacketCorrelator 生成只含汇总信息的报告。修正前后结果分别保存在 2026-10-11-capture-018-before.json、2026-10-11-capture-018-after.json。

Release 构建通过,0 警告、0 错误;60 项离线测试通过,新增版本长度隔离、映射冲突不覆盖、回显与完整性约束。实际文件回放另验证 891 条记录,不把离线测试条数作为现场功能数。