# 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 条记录,不把离线测试条数作为现场功能数。