生成时间:2026-09-16 | 分析对象:D:\rxjh2025\client\YGOnline.exe | ImageBase = 0x00400000(PE32)
| 用途 | 旧版(已失效) | 新版(当前) | 状态 |
|---|---|---|---|
| 助手中央 dispatcher sub ecx,0xb + 跳转表 | 0xA3F700 | 0x00A3D8C0 | 已重定位 |
| 命令字 0x31「小助手开」handler | 0xa406b4 | 0x00A3E874 | 已重定位 |
| 特征码 B「小助手call基址」 | 0xa3f676 | 0x00A3D836 | 仍有效 |
| 特征码 A「NPC对话基址」 | 命中(NPC mgr 0x183C52C) | 0 命中(指令序列被重编译) | 已失效 |
| 跳转表(函数表) | 0xa41588 | 0x00A3F748 | 已重定位 |
| 跳转表(索引表) | 0xa41698 | 0x00A3F858 | 已重定位 |
dispatch 逻辑:cmd → idx = index_tbl[cmd-0x0b] → handler = *(handler_tbl + idx*4)。共 154 个有效 case。
| 命令字 | 索引 | handler (VA) | 说明(按旧版行为推断) |
|---|---|---|---|
| 0x0B | 0x00 | 0xa3d916 | 置 this+0x34c9=1(启用/开) |
| 0x0C | 0x01 | 0xa3d95b | 置 this+0x34c9=0(停用/关) |
| 0x0D | 0x02 | 0xa3d9a0 | 置 0x34ca=1,并读坐标(0x1f84/0x1f8c)——挂机跟随坐标 |
| 0x12 | 0x04 | 0xa3db6c | — |
| 0x28 | 0x08 | 0xa3dc80 | — |
| 0x31 | 0x0F | 0xa3e874 | ★小助手开(你用的) |
| 0x32 | 0x10 | 0xa3ee69 | — |
| 0x33 | 0x11 | 0xa3ef0e | — |
| 0x34~0x37 | 0x12~0x15 | 0xa3ef65/eee8/eef9/0xa3de10 | 分页设置类 |
| 0x53 | 0x18 | 0xa3e79f | — |
其余命令字(0x38–0x9d 等)handler 已全量 dump 于工作区 reanalyze2.txt,需要「关 / 各分页开关」可对照扩展。
可信度:高 = 代码内绝对引用+偏移访问双重确认;中 = 区间高频引用,结构吻合;需CE = 旧镜像全局已消失或重编译,需 Cheat Engine 动态确认。
| 常量名 | 旧值(HEX) | 新值(HEX) | 可信度 |
|---|---|---|---|
| 坐标基址值 / 人物基址值 | 0x3BF28CC | 0x03BF0814 | 高 cmp [0x3bf0814],0;+0x1f84 读 x(float)、+0x2a74 状态 |
| 怪物基址值 | 0x3BE3E68 | 0x03BE1DB0 | 高 cmp [eax*4+0x3be1db0],0 数组基址 |
| NPC基址值 | 0x183C52C | 0x018393E0 | 高 mov ecx,[0x18393e0]; call 管理器单例(对话对象=[+0x414]) |
| 背包基址值 | 0x3B9DCE0 | 0x03B9BC28 | 高 [base+slot*4+0x53c] 物品槽数组(96格) |
| 发包Call_ECX值 | 0x17EF378 | 0x017EC3F4 | 高 load=4618,发包 this |
| 状态栏基址值 | 0x3BA387C | 0x03BA17C4 | 中 0x3ba 区间最高频 load=860 |
| 商店基址值 | 0x3BC33BC | 0x03BC0140 | 中 0x3bc 区间最高频 load=74 |
| 仓库基址值 | 0x182A2DC | 0x018243A0 | 中 0x182 区间最高频 load=970 |
| 当前血量值 | 0x3970A70 | (消失) | 需CE 旧独立镜像全局新版不存在,HP 应改从 [0x3BF0814+偏移] 读 |
| 地图基址值 | 0x11E0084 | 0x011E04B0 (?) | 需CE 0x11e 区间 store=7 候选,旧 0x11e0084 失效 |
| 发包call地址值 | 0x76C080 | 0x76xxxx 区间 | 需CE 新版 call 目标落在 0x76xxxx(共数十个),以 ecx=0x17EC3F4 的发包函数定位 |
| 凝神珠背包基址值 | 0x3B9DCEC | 0x03B9BC34 (?) | 需CE 与背包基址相邻 +0xC,建议随背包基址 0x3B9BC28 测试 |
以下偏移是结构体字段布局,与基址无关,跨版本不变。已在代码中确认仍可访问:
| 偏移常量 | 值(HEX) | 验证 |
|---|---|---|
| x坐标偏移值 | 0x1F84 | [0x3bf0814]+0x1f84 读 x(float) 确认 |
| y坐标偏移值 | 0x1F8C | 邻近坐标字段,稳定 |
| 背包物品位置值 | 0x053C | [base+slot*4+0x53c] 物品指针,稳定 |
| 背包物品编号值 | 0x0054 | [物品+0x54] 物品ID,稳定 |
| 背包物品数量值 | 0x0D4C | [物品+0xd4c],稳定 |
| 物品分类值 | 0x0D54 | [物品+0xd54],稳定 |
| 石头属性值 / 石头大小值 | 0x0E3C / 0x0E44 | [物品+0xe3c/0xe44],稳定 |
| 物品说明值 | 0x00F9 | 稳定 |
工作区产物:reanalyze_assist.py / reanalyze2.txt / reanalyze3.txt / reanalyze4.txt / verify_final.txt / locate_addr.txt(含完整命令字→handler 映射)。