← 返回总索引initiation_ok 控件分析(2026-09-18)🔑 卡密引导05_助手UI控件逆向/07_initiation_ok控件分析.html

initiation_ok 控件分析

分析对象:D:\rxjh2025\client\YGOnline.exe(ImageBase 0x400000)
日期:2026-09-18 | 方法:字符串定位 → 指针交叉引用 → capstone 反汇编

结论先说

问题结论
initiation_ok_over.bmp 是什么通用「确定」按钮贴图(over/click 两态:initiation_ok_over.bmp + initiation_ok_click.bmp),不是助手窗口的控件
控件 ID两个,两个不同窗口复用同一贴图:ID=0x62 和 ID=0x72
是否属于助手窗口否。0x62 / 0x72 都不在助手 0xA3F700 跳转表的直发清单里;创建处父对象用的成员偏移(+0x330、+0x3F4、+0x438)与助手窗口结构不符

静态证据

字符串与交叉引用

创建点 1:ID = 0x62(危险操作确认弹窗)

0x00AB0D02  push 0x10a5310          ; click 贴图
0x00AB0D07  push 0x10a52dc          ; over 贴图
0x00AB0D0C  push 0x62               ; ★ 控件 ID = 0x62
0x00AB0D0E  push this
0x00AB0D21  push (y+0x1B4)          ; y = 436
0x00AB0D2E  push (x+0xD5)           ; x = 213
0x00AB0D3F  call 0xcb28c0           ; 创建按钮(对象大小 0x548)
→ 指针存回 [this+0x358]

同窗口背景:window_npc\window_exchangebox_danger.bmp(红色警示确认框)+ Close_normal/Close_click 关闭按钮。

创建点 2:ID = 0x72(武功相关窗口)

0x00ABD950  push 0x10a5310          ; click 贴图
0x00ABD955  push 0x10a52dc          ; over 贴图
0x00ABD95A  push 0x72               ; ★ 控件 ID = 0x72
0x00ABD974  push 0x9E               ; x = 158
0x00ABD979  push 0xD5               ; y = 213
0x00ABD984  call 0xcb28c0
→ 指针存回 [this+0x43C],并把 [this+0x3F4]+0x28 / +0x2C 挂到按钮 +0x38 / +0x3C

同窗口还引用:button_mugong_over/click.bmp(무공 = 武功按钮)。

用途判定

结合三要素——window_exchangebox_danger(红色警示框背景)+ button_mugong(武功)+ initiation_ok(确定)—— 这套 UI 是危险操作的确认弹窗,最典型的就是武功初始化(洗点)确认框: initiation_ok 就是弹窗右下角那颗「确定」按钮,点了即执行不可逆操作。

对辅助开发的意义

  • 不要把 0x62 / 0x72 当助手控件发命令:父窗口不对,直发无效果
  • 若要自动化「危险确认弹窗」,需先定位 window_exchangebox_danger 对应的窗口实例([this+0x3F4] 一族),再对其控件指针(父+0x358 / 父+0x43C)模拟点击
  • 贴图名 initiation_ok_* 可作为识别该弹窗是否在屏的特征串
热血江湖助手 · 分析资料站← 报告总目录助手主页