Files
IC.Rebuild/diagnostics/2026-10-13-cn-client-compatibility.md
T

4.6 KiB
Raw Permalink Blame History

国服客户端兼容性与反汇编审计记录(涵盖 2026.09.15 与 2026.10.06)

  • 日期:2026 年 10 月 13 日
  • 国服游戏路径:D:\FINAL FANTASY XIV
  • 国服更新后版本:2026.10.06.0000.0000
  • 国服更新后二进制:D:\FINAL FANTASY XIV\game\ffxiv_dx11.exe(51,910,400 字节,SHA256 958B78E278AD896493C484EB313FF605AB41EDEFEF74F92B0EE078E69B281BF9)
  • 国服更新前基线备份:binaries/2026.09.15.0000.0000-cn/ffxiv_dx11.exe(51,881,216 字节,SHA256 7BA28760BC53CBBBF66B63105FEA6C1BFE09CB6B1C6353FC8FB0FF03CC1A30F4)
  • 国服启动器:XIVLauncherCN(位于 C:\Users\AinaSnow\AppData\Roaming\XIVLauncherCN)

1. 国服更新前后 23 处特征码全量扫描对照

在更新后的国服二进制上执行扫描,23/23 处特征码全部匹配成功(22 处单一匹配,1 处 NoBackswing 包装入口匹配 2 处且首匹配正确):

序号 目标名称 模块 ID 国服更新前 RVA (2026.09.15 CN) 国服更新后 RVA (2026.10.06 CN) 国际服新版 RVA (2026.10.06 Global) 匹配数 状态
1 SpeedHook 1 0x8D5060 0x8D61A0 0x8D6AF0 1 匹配
2 AccelerationHook 2 0x1827FC0 0x1829480 0x182BB40 1 匹配
3 MovePermissionHook 3 0xE12940 0xE13F70 0xE16030 1 匹配
4 AntiKnockHook 4 0x909EB0 0x90AEB0 0x90B650 1 匹配
5 OnSendFlagHook 5 0x62A250 0x62B350 0x62B050 1 匹配
6 FallCheckHook 6 0x182BE84 0x182D344 0x182FA04 1 匹配
7 ForcedWalkHook 7 0x1947573 0x1948A83 0x194AFE3 1 匹配
8 StatusSetter 8 0x8A4E10 0x8A5F50 0x8A6A30 1 匹配
9 LocalPlayerPtr 8 0xB34FBA 0xB3660A 0xB37D0A 1 匹配
10 OnSendNormalMove 9 0x62A970 0x62BA70 0x62B770 1 匹配
11 OnSendCombatMove 9 0x62AA20 0x62BB20 0x62B820 1 匹配
12 ActorRadius 14 0x175360F 0x1754CDF 0x175720F 1 匹配
13 NativeTargetRingUpdate 14 0x7B43E0 0x7B54F0 0x7B52D0 1 匹配
14 NoBackswing 15 0x8D5150 0x8D6290 0x8D6BE0 2 (首匹配有效) 匹配
15 ActionMovementStart 16 0x181E9B0 0x181FE70 0x1822530 1 匹配
16 SyncRecast 17 0x8ED480 0x8EE480 0x8EEC20 1 匹配
17 CastStaticAddress 19 0x1054C7 0x1054D7 0x104FF7 1 匹配
18 CastUpdate 19 0x8DE2C0 0x8DF400 0x8DFA60 1 匹配
19 SetScale 29 0x897940 0x898A80 0x899560 1 匹配
20 ZoneUp 36 0x1D6DAD0 0x1D706B0 0x1D72B00 1 匹配
21 ZoneDown 36 0x1D6D650 0x1D70230 0x1D72680 1 匹配
22 ReceiverSendPacket M4 0x1CF9020 0x1CFA9B0 0x1CFD120 1 匹配
23 ZoneClientSendPacket M4 0x1CFEF30 0x1D008B0 0x1D03020 1 匹配

2. 更新后关键原生反汇编核实

  1. M4 主动发送通道:
    • ReceiverSendPacket(0x1CFA9B0):mov rcx, [rcx+0A70h] 读取 ZoneClient,若空则返回 0;非空以 priority=0 调用 ZoneClientSendPacket(0x1D008B0)。
    • ZoneClientSendPacket(0x1D008B0):mov rcx, [rcx+98h] 检查底层指针,调用 ZoneUp(0x1D706B0),保留真实返回码。
    • ZoneUp(0x1D706B0):发送缓冲区契约(+0x00 Opcode、+0x08 TotalSize、+0x20 Payload)与旧版完全一致。
  2. 模块 36 收包:
    • ZoneDown(0x1D70230):cmp qword ptr [rcx+88h], 0,消息解包偏移完全一致。
  3. 模块 8 状态屏蔽:
    • StatusSetter(0x8A5F50):cmp edx, 3Ch(60 个状态栏槽位),槽位大小依然为 12 字节。
    • LocalPlayerPtr(0xB3660A):虚表偏移 +0x278(call qword ptr [rax+278h])完全一致。
  4. 模块 2 最大加速度:
    • AccelerationHook(0x1829480):cmp byte ptr [rcx+3Ch], 0、mov rdi, [rcx+20h] 完全一致。

3. 国服环境与 Opcode

  1. 客户端版本:更新后 ffxivgame.ver 变为 2026.10.06.0000.0000,与代码中 PacketParser.AuditedClientVersion 完美吻合,门控全通。
  2. Opcode 配置:本地 opcodes.json 中已含有 "2026.10.06.0000.0000"(UP_PingReq: 137,DOWN_PingRsp: 338),Ping 与收发包分析立即就绪。
  3. 开发插件加载:XIVLauncherCN 的 dalamudConfig.json 中已注册 ICRebuild.dll。