热血江湖 · 分析报告总索引

把分散在各个任务工作区里的分析报告收拢到一处 —— 服务器侧 / 客户端数据 / 内存逆向 / 助手模块逆向,共 247 篇。

247 篇报告总数
15 类分类
2026-09-16 ~ 10-19时间跨度
多个来源会话
保留在原会话目录原始代码/脚本
窗口槽偏移总表速查启动器与更新链路17客户端数据解析3内存逆向与基址定位32助手挂机模块逆向6助手UI控件逆向16时间制道具对象2窗口与 UI 交互逆向47发包与功能 CALL18组队与队员25背包与物品遍历3基址更新与环境8版本迭代与数据分析16内挂配置逆向10台服外部资产3助手各版本改动说明41
本次新增:内挂配置逆向 10 篇 · 台服外部资产 3 篇 · 各版本改动说明 41 篇 (2026-10-19 同步)

窗口槽偏移总表(可搜索 · 首屏速查)

活体实测

取窗口对象 = 读整数( 读整数(0x0188C61C) + 槽偏移 ) · 0x0188C61C = 25740828(IFManager 全局变量,永久固定);已弹出 = 该窗口下【类型码 24 = InterWindow 内容面板】的 +0x40 == 1。2026-09-28 活体全量遍历 · RTTI 类名验证

槽偏移十进制窗口类名中文名控件ID面板面板明细(偏移 : 面板ID,绿点=此刻可见)

行数 · 内容面板 · 此刻显示中 | 写代码用 十进制列;面板偏移不固定(实测 78 种),判定请用「扫」不用「查表」 | 独立页:窗口偏移总表_可搜索.html

跨任务关键结论速览

16 条

把各任务报告的核心结论压成一页速查;右侧标注可信度与出处,细节点进对应报告。

维度结论可信度出处
游戏运营状态仍在活跃运营——《热血江湖》台服,代理商 樂意傳播 Happytuk(平台 mangot5.com),补丁每周四发版实测启动器抓包分析 / 分析总报告
启动器性质韩服原厂通用启动器 launcher.exe,无壳无签名无进程注入 API;私服那份是原件照搬(SHA256 一致)静态+哈希launcher 启动器分析报告
更新链路HTTP 80 明文 GET /yg_patch/patch_{版本}.zip,UA=NetGame;补丁域名运行时由版本校验接口下发,exe 内无字面量抓包铁证启动器抓包分析报告
网络前提全部流量经迅游加速器本地代理 192.168.100.189:61753 中转;内地直连官方 IP 会被 DROP实测启动器抓包分析报告
补丁服务器S3 桶 happytuk-tw-hot 可直接 ListBucket 列清单 → 一次请求即得「在不在 + 最新版本 + 最后更新日」实测分析总报告 / 开服检测器
客户端加密29 个 .cfg = 固定 150 字节密钥表 XOR(密钥在 exe .rdata);0x1250 魔数格式已完全解析已破解cfg 数据总表
文本编码外观/资源类 9 表原文是韩文 CP949(非 Big5 乱码);另有 UTF-8 中文被按 Big5 解的形态,需三档自适应判定已破解cfg 数据总表
内存基址旧「31007 模块」基址表对本游戏全部失效;活游戏对象数组基址实测 0x03BE3E68(另一构建)CE 实测活游戏基址总表 / 目录分析
对象字段偏移+0x08 类型 / +0x0C ID / +0x18 名 / +0x5F8 血 等属 C++ 结构布局,跨版本稳定可直接用(血值反查可验)高玩家/怪物/物品对象字段表
队伍(队员)结构队伍关系不在玩家对象内部,是独立 8 槽指针数组;队员基址静态不可得,必须运行时指针扫描(尚未钉死)待解队伍结构定位 / 队员结构扫描
组队封包按名字组队 opcode=30001400;结构 = 固定头 + 名字 BIG5 + 00 00 + 补零到 40 字节,A440 不是定界符已二进制验证组队_名字组_发包分析
助手挂机模块客户端内置助手模块的函数表 / 中央分发器 / 开关地址均已定位,可支撑易语言子程序地址重定位已定位助手汇编内存地图 / call 重定位
主要风险①补丁明文 HTTP 无签名校验 ②加速器会改写请求头 ③客户端带 XIGNCODE 反作弊,调试读写有封号风险提示分析总报告
控件 ID 机制控件 ID 是编译期硬编码立即数(构造 0xA2DCC0 push 配对资源名),存 +0x364;点击时 msg=0x3F4 虚调用父窗口槽 #1 → 分派 0x68B2B0,共 65 个命令 ID静态全扫助手逆向分析总汇总
双层级调用旧辅助直调的 0xA3F700 是 0x68B2B0 下一层的分发函数(选项码 0x0B~0xA3,约 154 分支),this=NPC 对话对象(基址+0x414),助手窗口指针存其 +0x34B4特征码实测双层调用对比
易语言调用路线推荐虚表直调 call [edx+4](零基址依赖、65 个 ID 可用);旧 0xA3F700 路留作备份;停止挂机 0x32 已在 0x68B2B0 层验证待实机双层调用对比

启动器与更新链路

17 篇

对 D:\rxjh2025\launcher.exe 的静态解析、实机抓包与补丁服务器探测,判定游戏运营状态与整条更新链路。会话日期:2026-09-17

01

热血江湖分析总报告

综合总报告01_启动器与更新链路/热血江湖分析总报告.html

四轮分析(服务器侧 / 客户端数据 / 内存逆向)的全量汇总入口,含「一图看懂」结论表与全部被推翻的旧结论记录。

  • 游戏仍在活跃运营(代理商 樂意傳播 Happytuk / mangot5.com),每周四发版补丁
  • 活动图:实机抓包 37,405 包、下载补丁 15.3MB、已解密 CFG 29/153、补丁服务器 365 个对象条目
  • 活游戏对象数组基址实测 0x03BE3E68;旧「31007 模块」基址表已作废
  • 三大风险:补丁明文 HTTP 无签名校验 / 加速器改写请求头 / XIGNCODE 反作弊封号风险
打开报告 →
02

launcher.exe 启动器分析报告

静态分析01_启动器与更新链路/launcher启动器分析报告.html

原厂启动器身份锁定:韩版 MFC、无壳无签名、无进程注入 API,私服那份是原件照搬(哈希一致)。

  • 3,017,728 字节 · 32 位 · 编译时间 2015-05-26 · 内部名 HomunclusLauncher
  • SHA256 78446D20…B8A84,与 D:\rxjh2025私服\launcher.exe 完全一致
  • 导入表含 WININET 全套,但 FtpFindFirstFileA / FtpOpenFileA 是未使用的遗留导入
  • 真正私服入口是 fate_launcherNew.exe(易语言),更新服 dlq.fatetw.pro:99 → 43.159.63.133
打开报告 →
03

launcher.exe 启动抓包分析报告

实机抓包01_启动器与更新链路/启动器抓包分析报告.html

决定性证据:启动器全部流量走迅游本地代理,补丁走 HTTP 80 明文从官方 S3 桶下载,补丁域名由版本校验接口运行时下发。

  • 唯一游戏外联请求:GET /yg_patch/patch_645.zip,UA=NetGame,4 秒下完 15.3MB
  • 补丁域名 patch-hot.mangot5.com.tw 不在 exe 字面量里 → 由 hotsession.mangot5.com 动态下发
  • 全部流量经 xunyou.exe 本地代理 192.168.100.189:61753,内地直连官方 IP 会被 DROP
  • S3 桶 happytuk-tw-hot 可直接 ListBucket 列清单(判活最强判据)
打开报告 →

客户端数据解析

3 篇

对客户端加密 CFG、明文 INI 与游戏内数据的解析成果,输出可检索的数据总表。会话日期:2026-09-17

01

cfg 数据总表

数据总表(21 标签页)02_客户端数据解析/cfg数据总表.html

29 个解密 CFG 全部按 EOF 精确解析并中文化表头,含 NPC 编号↔名称对照、地图/传送点/NPC 关联。

  • 破解 0x1250 魔数格式:两种头部变体 + 1 字节长度前缀字符串流,记录数恒比声明多 1
  • 外观/资源类 9 表原文为韩文 CP949,已重解并新增「名称(中文)」简体对照列(8370 个名称,65% 完全汉化)
  • ybmapinfo 拆为 地图名称/ID、相邻地图名称/ID、X 坐标/Y 坐标、NPC 编号/名称 共 9 列
  • 地图 ID 修正:1301 南明湖、1401-1601 血魔洞 1-3 层、1701-1901 地灵洞 1-3 层、20001 伏魔洞
打开报告 →
02

客户端明文文件总表

数据总表02_客户端数据解析/客户端明文文件总表.html

D:\rxjh2025\client 下未加密文件的完整盘点:明文 INI 可解析,153 个 CFG 仍是加密态。

  • 根目录 10 个 INI + 角色目录 UserConfig.ini×191 / 购买物品列表.ini×137 + 坐标脚本\*.ini
  • 坐标脚本 = 寻路 call(x,y)序列;.scs/.mhslot/.aut 为二进制;大 .txt 是挂机日志
  • 物品编号.ini(325 条)= 游戏内人工验证过的 ID 表,用作物品 ID 校验基准
打开报告 →
03

全部数据整理表

数据整理(摘录版)02_客户端数据解析/全部数据整理表.html

游戏内粘贴数据(武功/状态/地图等)的整理表,字段语义已按用户口径更正。

  • reqlevel=习得等级、reqkarma=历练、usemp=消耗内力、additionaldamage=附加伤害、targetmax=目标数
  • 状态异常 6002101 对象弱化1 = 50/150/300、6002102 对象弱化2 = 100/200/400
  • 另有 7 份因上下文压缩丢失原文,仅按摘要重建样例行并标注「摘录版」,待补全
打开报告 →

内存逆向与基址定位

32 篇

对活游戏 YGOnline.exe 的基址、对象结构与组队封包的逆向定位与验证(19 篇,含 CE 脚本配套)。会话日期:2026-09-16

01

易语言项目分析报告(挂机辅助)

代码审计03_内存逆向与基址/01_易语言项目分析报告_热血江湖挂机辅助.html

辅助工程整体架构与功能清单,附具体 Bug 与维护性风险清单。

  • DLL 注入 + 窗口线程架构,约 9000+ 行主窗口代码、300+ 子程序
  • 【严重】etxt 转换产物把几乎所有局部变量都标成「数组」
  • 【Bug】遍历背包红/蓝药找不到药时返回值错误;【隐患】线程强杀、跨线程 UI 访问
打开报告 →
02

D:\rxjh2025 目录分析

关键修正03_内存逆向与基址/02_D盘rxjh2025_目录分析.html

确认被分析的活游戏就是 D:\rxjh2025\client\YGOnline.exe,并推翻 31007 那套基址表。

  • 31007 模块的 0x03173B70 与活游戏 0x03BE3E68 的 RVA 不同 → 不是同一构建
  • 活游戏为 32 位、模块固定 0x400000(无 ASLR),绝对地址可直接对应模块内 RVA
  • 目录里存在辅助写出的 Default.ini / ybopt2.cfg / YBpos3.cfg / YBc.cfg 与角色文件夹
打开报告 →
03

CE 分析报告:对象数组与邀请封包

CE 实测03_内存逆向与基址/03_CE分析报告_对象数组与邀请封包.html

对象数组基址身份确认 + 数组结构规律(对象 ID == 槽位下标),并纠正「邀请包」的误判。

  • 数组基址 0x03BE3E68 属主模块 .data 静态地址,不需指针扫描、不随重登改变
  • 对象指针 = 读整数(基址 + k×4),玩家槽从 8000 起,玩家类型 ptr+8 == 0x31
  • ★ 抓到的那条 0x30 包不是组队邀请;对象 ID 会随会话变化
打开报告 →
04

基址总表(31007)

参考表(已过期)03_内存逆向与基址/04_基址总表_31007.html

旧版 31007 模块的完整基址/偏移/call 速查表,仅作对照参考,对本游戏已失效。

  • 数组基址、对象字段偏移、物品/聊天/组队窗口对象、关键 call 地址
  • 字段偏移部分跨版本稳定仍可用;基址数值换版本即失效
  • 聊天数组 = 游戏基址 + 4×283;组队请求窗口 = 游戏基址 + 26708
打开报告 →
05

基址总表 · 分析检测报告

检测报告03_内存逆向与基址/05_基址总表_检测报告.html

对 31007 基址逐条做检测分类:仅对象数组一项活实测,其余标「待本机指针扫描确认」。

  • 平移量 delta = 0x03BE3E68 − 0x03173B70 = 0x00A702F8(仅对象数组适用)
  • 对象字段偏移(+0x08 类型 / +0x0C ID / +0x18 名 / +0x5F8 血)跨版本稳定,可用血值反查验证
  • 唯一死矛盾:#组队_队员名称 源码值 824(0x338) 与注释 0x20C 不一致
打开报告 →
06

基址更新子程序 · 验证与修复报告

二进制验证03_内存逆向与基址/06_基址更新_验证与修复报告.html

把「基址更新」子程序里 34 条 FindData 特征在本机 exe 逐条精确匹配,分出可修与不可修。

  • 20 条精确命中可直接用;3 条帧偏移漂移可一键修复(人物基址、全局大列表、攻击列表)
  • 14 条无法自动修复:整段不存在,其中 9 条是 64 位客户端特征(架构不符永远 0 命中)
  • 周围列表基址 0x9E09AC 是实体数组指针变量的位置(模块相对偏移,抗 ASLR)
打开报告 →
07

基址数据验证报告

数据校验03_内存逆向与基址/07_基址数据验证报告.html

十进制↔十六进制逐条互算,修正 6 处十六进制注解错误、标出 1 处必须运行时确认的矛盾。

  • 易语言常量以十进制参与编译 → 十进制始终权威,问题只在文档注解
  • 6 处修正仅影响标注;CE_对象分析_按总表.lua 全用十进制,运行不受影响
  • 待确认:#组队_队员名称 偏移 0x20C vs 0x338
打开报告 →
08

活游戏基址总表(已确认)

结论表03_内存逆向与基址/08_活游戏基址总表_已确认.html

本游戏唯一可信的活基址清单(常量有值 + exe 字节命中双条件),并解释队功能读不到人的根因。

  • 命中次数 = 代码区引用该全局变量的次数,作为可信度判据
  • 队员基址在常量文件里根本没有值定义;31007 的 0x03148650 活 exe 命中 0 次
  • 各基址相对 31007 的 delta 各不相同(角色 +0xA0D844、背包 +0x8477FC),无法平移推导
打开报告 →
09

对象字段偏移 · 验证清单

验证清单03_内存逆向与基址/09_对象字段偏移_验证清单.html

按 ✅ 二进制确认 / 📁 源码权威 / 🔍 需指针扫描 / ⚠ 自相矛盾 四级给全部字段标注状态。

  • 对象数组、数组大小、背包基址 0x03B9DCE0 三项被二进制确认
  • 其余基址不在 exe 静态数据里,必须 CE 指针扫描
  • 遍历公式:对象指针 = 0x03BE3E68 + i×4,玩家槽 8000+
打开报告 →
10

玩家对象字段(数组指针 + 偏移)

权威字段表03_内存逆向与基址/10_玩家对象字段_数组指针偏移.html

按活游戏实跑子程序 _人物遍历_被单击 得出的玩家对象布局,推翻 31007 旧值。

  • 基址变量 #怪物基址值 = 0x03BE3E68(exe 命中 1971 次)
  • 玩家 type 0x31,与怪物是不同 C++ 类,偏移不通用
  • 配套 CE_玩家对象字段验证.lua 可直接挂进程出报告
打开报告 →
11

怪物对象字段(数组指针 + 偏移)

权威字段表03_内存逆向与基址/11_怪物对象字段_数组指针偏移.html

按 _NPC遍历_被单击 得出的怪物对象布局;强调必须先按 +0x08 类型分流。

  • 怪物 type 0x2E,与玩家对象同数组不同类
  • 遍历:怪物位置 = 读整数((8000+x)×4 + #怪物基址值)
  • 31007 / 早期分析的怪物字段旧值全部作废
打开报告 →
12

物品对象字段(数组指针 + 偏移)

权威字段表03_内存逆向与基址/12_物品对象字段_数组指针偏移.html

背包容器与物品对象结构;背包基址已二进制确认为本游戏活基址。

  • 背包基址值 0x03B9DCE0(exe 命中 3495 次)→ 读整数得容器指针
  • 物品位置 = 读整数(背包基址 + 0x53C + (格子-1)×4),≤0 跳过
  • 石头/宝石槽数组结构取自旧版本代码,待验证
打开报告 →
13

遍历代码 · 数组结构分析

结构总览03_内存逆向与基址/13_遍历代码_数组结构分析.html

把「遍历」程序集里所有列表型数据的寻址方式归纳成统一规律。

  • 通用规律:基址 + 索引×4 读指针 → 指针 + 字段偏移 读字段
  • 确认用户一直在找的「队伍基址」就是 #队员基址(8 元素指针数组)
  • 覆盖背包/任务包/仓库/快捷栏/技能辅助栏/聊天/结婚窗口
打开报告 →
14

道具遍历基址 · 二进制验证报告

二进制验证03_内存逆向与基址/14_道具遍历基址_验证报告.html

确认 道具遍历基址 是「地面掉落物」世界容器,与背包、副本道具是三套不同数据。

  • 运行时常量 0x1801170(模块相对 0x1401170),指向 6400 槽指针数组
  • 元素 element+8 关联回实体数组 0x03BE3E68 → 证明是场景掉落物
  • GetAt(i) 于 VA 0x769BA0,主循环 VA 0x768D22
打开报告 →
15

队伍结构定位报告(CE 实测)

CE 实测03_内存逆向与基址/15_队伍结构定位报告.html

用行为对比排除法证明:队伍关系不在玩家对象内部,是独立的一张表。

  • 判据一(队内 3 人相同/队外不同)→ 0 个字段;判据二(槽位标记小值)→ 0 个字段
  • 主模块数据区里队长名字共 5 处出现点,候选表 0x03BA1F40 起 0x50 步长
  • 下一步:一次「行为对比」即可定案
打开报告 →
16

队员结构 · 指针扫描分析

待解问题03_内存逆向与基址/16_队员结构_指针扫描分析.html

队员基址静态不可得,给出两阶段指针扫描方案与手动 CE 兜底步骤。

  • 核心矛盾:名字偏移 0x20C 还是 0x338(必须活测)
  • 阶段1 锚定一个队员对象指针 → 阶段2 反查队员基址
  • 静态路径全灭:31007 值 0 命中、delta 平移候选 0x03bb8948 也 0 命中
打开报告 →
17

CE 手动找「队员基址」操作手册

操作手册03_内存逆向与基址/17_CE_队员基址_手动手册.html

脚本跑不动或队友名特殊时的兜底流程,6 步拿到队员基址并回填常量。

  • 先遍历 k=8000..10000 找 ptr+8==0x31 且 ptr+0x18 名字匹配的对象指针
  • 对该指针做指针扫描,找 8 槽连续的全局变量
  • 回填 #队员基址 / #组队_队员名称(824 或 524) / #组队_队长名称 908 / #组队_队伍等级 928
打开报告 →
18

组队「按名字」发包分析

封包分析03_内存逆向与基址/18_组队_名字组_发包分析.html

用两条抓包逐字节对照,纠正 A440 定界符的误判,给出正确的发包构造器。

  • ★ A440 不是定界符——那两字节是名字自带的「一」字的 BIG5 编码
  • 正确结构 = 固定头 + 名字 BIG5 + 00 00 + 补零到 40 字节
  • opcode 30001400;已用 Python 逐字节复现两条真实抓包
打开报告 →
19

基址全量复验报告(70 项逐一验证)

基址复验03_内存逆向与基址/19_基址全量复验报告.html

把历史上找过的全部 70 项基址(活游戏常量 / 基址更新 34 条特征 / 31007 模块 / 助手 UI 链路)用同一套三重判据逐条复验:A 组 8/11 有效、B 组 20/20 有效、C 组 31007 全失效、D 组助手链路全有效。

  • ★ 修正扫描盲区:disp32 有两种形态,漏掉 SIB 变址会大面积误判「0 引用」(怪物基址值 0 → 1487 引用)
  • ★ call 类 8/8 全通:+adj 落在 E8 后的 rel32,目标 = 取址点 + 4 + rel32(「小助手CALL基址」→ 0xA3F700 与旧辅助硬编码完全一致)
  • 三条交叉互证:「写死常量」与「字节特征」两套独立方式指向同一全局变量(背包 / NPC / 状态栏)
  • 待复核处理:攻击列表基址给出最可能候选 0x03BA4C40(204 引用),两个 0 引用基址定位出活跃邻居
打开报告 →
20

E2TXT 源码常量基址对照表

源码常量清点03_内存逆向与基址/20_E2TXT常量基址对照表.html

把 旧版本更新.e 工程里实际在用的常量基址逐条列出(209 条常量中地址类 18 条、真游戏基址 9 条),并与《基址全量复验报告》的静态结论对表 —— 9/9 全部吻合。

  • ★ 交叉互证:常量 发包call地址值=0x0076C080 + 发包Call_ECX值=0x017EF378,正是静态从「NPC选项CALL基址」特征按 rel32 公式推出的同两个地址 —— 两条独立路线打通
  • 澄清 封包Eax基址 不是基址,是 .text 内的发包取址点
  • 额外收获:从 35 个内联偏移反推出完整对象字段结构表(类型 +8:0x2E=怪物 / 0x31=人物;血 +0x5F4/5F8、等级 +0x5FC、坐标 +0x1F84、选中目标 [坐标基址值+0x1D24])
  • ⚠ 揪出 bug:助手_发命令 的 .参数 控件地址 丢了 整数型 → 通用型传参 → 机器码读 [ebp+8] 拿到块指针 → 点控件必然失败
打开报告 →
21

基址清单对比 —— 验证清单 vs 工程实际在用

清单对表03_内存逆向与基址/21_基址使用对比清单.html

把「用 CE 逐条验证的地址清单」(29 项)与「E2TXT 反编译出的工程实际引用地址」(16 项)逐条对表:你工程在用的 16 个地址,清单 100% 全覆盖 —— 零缺项、零冲突,清单额外多 13 项备用/候选。

  • 逐条总表 29 条:一条不漏列出「地址 / 清单里的名字 / 静态引用数 / 工程在用? / 工程里的名字 / 判定」,判定列一眼看出是「✅ 一致」还是「📋 备用」
  • 两边都有 16 项:10 个「XXX基址值」+ 2 个发包常量 + 模块基址 + 2 个内联校验常量,地址一个不差;0x017EF378 更是「清单叫 NPC选项基址 / 工程叫 发包Call_ECX值」同一地址两套命名,正好互证
  • 只在工程(清单缺)= 0 项:上一版发现的 4 个缺项(0x0076C080 0x0076C2A1 0x01844380 0x01200000)已补进验证清单「第 7 组」,现已 100% 覆盖
  • 只在清单 13 项:7 个「基址更新」特征读出的备用全局变量 + 3 个仓库商店邻居候选 + 攻击列表候选 + 2 个助手虚表运行时期望值
  • ★ 挖出相邻关系:0x0184437C(副本道具基址) 与 0x01844380(工程在用·是否进角色选择界面) 只差 4 字节,同一区块兄弟字段
打开报告 →
22

全局地址与基址分析报告 —— 静态引用图视角

全量引用图03_内存逆向与基址/22_全局地址与基址分析报告.html

第一次不从「已知地址」出发,而是把 exe 里所有被绝对寻址引用的地址全挖出来:5978 个目标 / 104,011 处引用 / 1812 个索引基址,再借 MSVC RTTI 解出 762 个真实 C++ 类名 —— 把一堆裸地址变成「有名字的地图」。

  • ★ 方法论升级:字节扫描会误报(把指令流字节当地址,扫出 0x05050505)→ 改 capstone 逐指令,373 万条指令仅 0.04% 未解码,引用数变成「真实指令口径」
  • ★ 拿到类名:764 个真虚表 ↔ 762 个 C++ 类名,助手窗口 = .?AVInterAutoPlay@@(虚表 0x010A20F8,槽1 0xA3F3D0 与你实机日志完全吻合)
  • ★ 范式通用:203 个 Inter* 类共用 9 槽布局、槽1 = 动作分派,且 0x3EE/0x3F4 两个通用动作码在多个类的槽1 都出现 → 你驱动助手的这套手法对其它 200+ 个窗口同样适用
  • ★ 新识别基址:0x01844360 = MAPID 当前地图ID(铁证:旁边就是 MAPID : %d 格式串)
  • ★ 修正旧结论:InterInGameTotalShop 虚表是 0x01079A68(不是 0x01079A6C)→ 因此 0x68B2B0 就是「槽1」,我上次的「修正」反了
  • ★ 确认死值:仓库基址值 0x0182A2DC、商店基址值 0x03BC33BC —— 两种寻址形态都 0 引用,且 ±0x80 内一个活跃地址都没有 → 明确建议换 0x0182B5E8 / 0x03BC21F8
打开报告 →
23

IFManager 单例、0x0397 数据区与通用范式活体验证

活体验证03_内存逆向与基址/23_IFManager单例与通用范式活体验证.html

三线并进:挖穿 0x183C52C 主控单例(RTTI 定名 IFManager,≥0x1088 字节)、解出 0x0397xxxx 角色运行时状态区结构,并 CE 活体验证了 §5.3 通用调用范式。

  • ★ 窗口注册表:IFManager 的 +0x390~+0x444 每槽 = 一类窗口的当前实例指针,CE 活体一次读出 7 个窗口并全部 RTTI 定名(MAIN/Chat/Status/Inventory/Npc/AutoPlay/Couple),静态与活体 100% 吻合
  • ★ 范式实测:对背包(InterInventory)与状态(InterStatus)两个非助手窗口执行 thiscall slot1(this,0x3F4,1,0),均返回 0、游戏稳定 —— 「助手手法对其它窗口通用」由推论升级为实测事实
  • ★ 槽1 活体反汇编:背包 slot1 0xAE3760 的 switch(0x3EE/0x3F4/0x44A/0x46E)与助手槽1 逐条同款
  • 0x0397xxxx:不是一张表,是角色运行时状态区 —— 玩家状态簇(0x3970A70=当前血量)、属性簇、第三簇 + imul×0x354(852字节记录) 索引 + 两类指针/字数组表
  • ⚠ 教训:CE 传 this 不要手工换算十六进制(两次出错侥幸无害),一律用地址表达式或 Lua 取值
打开报告 →
24

基址全量复验报告(MD 全文)

静态复验03_内存逆向与基址/基址全量复验报告.md

pefile 解析节区 + capstone 逐条反汇编 + 全代码段扫描,用同一套三重判据把历史上找过的基址逐项过筛,回答「这个地址到底有没有人在用、怎么用」。

  • ★ 纯静态口径(不挂游戏),与《基址活体验证清单》配套:静态证「有人引用」,活体证「运行时值对」
  • ★ 修正扫描盲区:disp32 有直接与 SIB 变址两种形态,只扫前者会大面积误判「0 引用」
  • ⚠ 静态全过 ≠ 运行时对象正确 —— 必须配活体读值,两者不可互相替代
打开报告 →
25

基址活体验证清单(CE 挂游戏逐条读值)

活体验证03_内存逆向与基址/基址活体验证清单.md

静态复验只能证明「代码在用这个地址」,不能证明「运行时地址里的指针指向的对象是对的」;本清单把待验证基址按 7 组列好,CE 挂上 YGOnline.exe 逐条读值落地。

  • ★ 分 7 组、给每条基址写明「读什么、期望看到什么」——读出来就能当场判对错
  • ★ 与《基址清单对比》配对:一方列待验清单、一方列工程真正在用的地址
  • 适用场景:游戏更新后基址复验、换服换版本时重跑
打开报告 →
26

E2TXT 常量基址对照表

工程对照03_内存逆向与基址/E2TXT常量基址对照表.md

把 `旧版本更新.代码\常量.e.txt`(E2TXT 反编译产物)里的常量与游戏侧基址逐条对照,确认工程实际引用的地址与逆向结论是否一致。

  • ★ 对照对象是**工程在用的源码常量**,不是纸面清单 —— 能直接暴露「代码里写错/写旧了」的地址
  • ★ 兼容 e2txt 产物的命名噪声:常量名 → 数值 → 用途三级映射
  • 配套:《基址清单对比》做的是同一件事的差集视角
打开报告 →
27

基址清单对比 —— 验证清单 vs 工程实际在用

差集分析03_内存逆向与基址/基址清单对比.md

A 方(基址活体验证清单)与 B 方(旧版本更新.代码 里真正被引用的地址)求差集,找出「清单里有但工程没用」和「工程在用但清单没有」两类缺口。

  • ★ 双向差集:清单多出来的 → 可能是废条目;工程多出来的 → 可能是漏验的隐患
  • ★ 做基址迁移/复验前先跑一遍,能省掉一半无用验证
  • ⚠ 结论依赖 E2TXT 反编译的准确性(命名可能有噪声,比对时按数值为准)
打开报告 →
28

全局地址与基址分析报告 —— 静态引用图视角

引用图03_内存逆向与基址/全局地址与基址分析报告.md

capstone 逐指令线性反汇编 + MSVC RTTI 校验 + 引用形态分类,从「谁引用了谁」的角度画出全局地址引用图,而不是只盯单个基址。

  • ★ 引用形态分类(直接寻址 / 间接 / 立即数 / call 目标)——同一地址不同引用形态含义完全不同
  • ★ MSVC RTTI 校验确认对象真实类型,避免把数据当对象
  • 适合在「某个地址到底是不是全局变量」这类判断题上收口
打开报告 →
29

基址总表 · 游戏更新版 0924(MD 全文)

基址总表03_内存逆向与基址/25_基址总表_更新版_0924.md

2026-09-24 游戏更新后的基址总表(MD 全文):数据源 = YGOnline.exe + 服务器历史报告 + 用户 CE 活体实测锚点。

  • ★ 与本区 HTML 版《25_基址总表_更新版_0924.html》同表,MD 便于直接看/ diff
  • ★ 每条基址尽量带活体锚点,不是纯静态推断
  • 配套:《24_人物信息基址_更新版_0924》
打开报告 →
30

人物信息基址 · 游戏更新版 0924(HTML)

基址总表03_内存逆向与基址/24_人物信息基址_更新版_0924.html

2026-09-24 游戏更新后的人物信息基址页:把「人物属性块 + 人物对象 + 相关指针链」整理成可查的 HTML 表。

  • ★ 属性块口径:血/内功/经验/历练/武勋/金钱、门派/服名/正邪/职业/等级/几转
  • ★ 每项标注来源(静态引用 / CE 活体实测)
  • 配套:《25_基址总表_更新版_0924》HTML + MD
打开报告 →
31

基址总表 · 游戏更新版 0924(HTML 可查表)

基址总表03_内存逆向与基址/25_基址总表_更新版_0924.html

基址总表的 HTML 可查版(2026-09-24 游戏更新后)——同《25_基址总表_更新版_0924.md》,排版成表格便于翻查。

  • ★ HTML 表 vs MD 全文:一个便于浏览器速查、一个便于文本检索
  • ★ 含人物信息基址部分(与《24_人物信息基址_更新版_0924》同批)
  • ⚠ 09-24 口径,若游戏再更新需重跑验证清单
打开报告 →

助手挂机模块逆向

6 篇

定位客户端内置「助手挂机」模块的函数表、消息分发器与关键内存地址,为易语言子程序提供改动依据。会话日期:2026-09-16

01

D:\rxjh2025 游戏分析报告(助手挂机逆向定位)

模块定位04_助手模块逆向/rxjh2025_分析报告.html

整体定位客户端内置助手挂机模块:核心函数表、反汇编入口、字符串引用地图与配置体系。

  • 给出已验证的反汇编入口地址表与 .aut 加载函数 0xA3EB90 片段
  • 通过模块内字符串引用侧写功能范围
  • 记录字符串加密观察与运行时配置文件清单
打开报告 →
02

助手挂机模块 · 汇编内存地址地图

地址地图04_助手模块逆向/助手汇编内存地图.html

按子系统划分的模块内存地图:I/O、主分发器、UI 窗口、宏发包、混淆校验、全局数据。

  • .aut 账号 / .mhslot 槽位 I/O 子系统
  • 主消息分发器(中央调度)+ 各分页窗口处理函数
  • 「开启挂机」开关定位结论与 .data 全局数据地址(易语言外挂解引用目标)
打开报告 →
03

助手 call 内存地址重定位报告(更新版)

重定位04_助手模块逆向/助手call重定位_更新版.html

面向易语言子程序改造的旧→新地址对照表,附 dispatcher 命令字映射与改动清单。

  • 核心 call 地址表 + dispatcher 命令字映射(0x0B–0x53 节选)
  • 常量基址旧→新对照并标注可信度
  • 结构内偏移全部稳定无需修改
打开报告 →
04

「小助手开」内存地址定位报告

特征定位04_助手模块逆向/小助手开_内存地址定位.html

锁定「小助手开」开关的内存位置,给出完整调用链与两条特征码详解。

  • 特征码 A = NPC 对话基址,特征码 B = 小助手 call 基址
  • 0xA3F700 中央分发器入口反汇编逐条确认
  • 对易语言子程序逐行确认并给出可优化点
打开报告 →

助手UI控件逆向

16 篇

控件 ID 全生命周期闭环:从配置数据 → UI 资源 → 控件 ID 硬编码链路 → 点击分派 → 双层调用函数,含易语言三种调用方式对比与验证判读表。会话日期:2026-09-18

01

助手逆向分析总汇总(UI 控件 · 调用链 · 配置数据)

总汇总05_助手UI控件逆向/助手逆向分析总汇总.html

把 6 份分散材料去重合并:配置数据 → UI 资源 → 控件层 → 通知层 → 分派层 → 功能层完整证据链,附关键地址速查表。

  • 10 角色 / 88 字段基线值与差异表
  • 控件 ID 5 步闭环(硬编码 → 工厂 → +0x364 → 引擎 → 分派)
  • 关键地址速查:窗口类 / 通知分派 / 功能函数三张表
打开报告 →
02

助手全量控件 ID 清单(静态全量扫描)

全量扫描05_助手UI控件逆向/助手全量控件ID清单.html

pefile + capstone 全量模式扫描:58 条控件登记、65 个已分派命令 ID,每条带 VA 可复核。

  • 新挖出 0x35/0x36/0xA3/0xA4/0xA5/0x94/0x97/0x76 共 8 类控件
  • 0x68B2B0 全部 65 个命令 ID 分段枚举
  • 0xA3/A4/A5/0x94/0x97/0x76 不走 0x68B2B0 的边界说明
打开报告 →
03

助手 CALL 双层调用与易语言调用方式对比

调用对比05_助手UI控件逆向/助手CALL双层调用与调用方式对比.html

验证 0xA3F700 为 0x68B2B0 下一层分发函数(选项码 0x0B~0xA3),对比虚表直调 / 0xA3F700 直调 / 大漠远程汇编三种易语言调用方式。

  • 0xA3F700 反汇编逐条 + 两条特征码实测命中
  • +0x34B4 = 对话对象里助手窗口指针成员
  • 5 环链路自检与验证判读表(防闪退)
打开报告 →
04

助手控件实机对照表(内存遍历实测 74 个)

实机实测05_助手UI控件逆向/助手控件实机对照表.html

实机内存遍历助手窗口,列出全部 74 个控件「偏移 → ID → 名称」,静态预测 8/8 偏移命中,附 push 0x3F4 机器码字节纠错与通用点控件写法。

  • 两步链实测成立:父窗口 == 助手窗口
  • 74 个控件逐条对照 + 34 个可直发 ID 分段
  • 踩坑记录:push 0x3F4 必须用 104(imm32),用 106 会整段错位
打开报告 →
05

助手 0x3F4 分派机制与控件 ID 实现表

机制解谜05_助手UI控件逆向/助手0x3F4分派机制与控件ID实现表.html

解开「push 0x3F4 到底是什么」:虚表槽#1 只认 6 个动作码,0x3F4 把「控件 ID」原样当选项码转发给 0xA3F700;154 项跳转表逐条解开,74 个控件 ID 分为「有实现 38 / 区间批处理 28 / 超范围 4」。

  • 0x3F4 转发链原文 + 与旧代码直调 0xA3F700 的等价性证明
  • 公共尾部 0xA41204 六个区间的批处理逻辑(勾选框 / 互斥页签)
  • 「开关能用、其他按钮无效」根因:[ebp-4] 依赖局部变量排布,②③ 因同值侥幸正确,④ 落错格子
  • v3.2 修法:机器码核心只读 [ebp+8],与栈布局解耦(字节已反汇编复核)
打开报告 →
06

偏移 0x364 全量反汇编分析 —— 谁在读、谁在写、各是什么

偏移考古05_助手UI控件逆向/06_偏移0x364全量反汇编分析.html

全 exe 扫 disp==0x364:879 处 / 约 300 个函数。找到控件 ID 的静态写入点、游戏自己的 0x3F4 分发原文,并证明 +0x364 是个被 4 个类族复用的高频偏移。

  • ★ ID 写入点:0x75B230 —— 控件工厂 InterUI_Manufacture(虚表 0x010831E0,RTTI 验证)构造控件时写 [控件+0x364]=ID,与实机遍历 74 控件的结果两头闭合
  • ★ 游戏自己的点控件原文(0x75A6FF):push 0/1/0x3F4 → mov ecx,[[0x183C52C]+0x3EC+0x39C] → call [虚表+4] —— 与你的机器码逐条同款,写法就是引擎原生手法
  • ★ 引擎级取控件新链路(待活体):[0x183C52C](UI管理器) → +0x3EC(当前活动窗口) → +0x39C(当前目标控件),不依赖 +0x414,全窗口通用
  • ★ Inter* 窗口的 +0x364 不是 ID:是「当前活动子对象」指针 —— InterNpc 槽1 用它把 0x3EE 转发给子对象(×32),这解释了动作码为何跨类通用
  • ⚠ 语义随类而变:控件 ID / 活动子对象指针 / 数据数组首(malloc(0x37C) 族)/ CRT 调试标记(0xBAADF00D)—— 用前先 RTTI 验明正身
打开报告 →
07

助手 UI 逆向 · 偏移总表(控件对象内存结构全量统计)

偏移总表05_助手UI控件逆向/助手UI逆向_偏移总表.html

实机转储 238/496 槽控件对象后的全量偏移统计:对象头 0x00~0x4F、状态位(+0x360 勾选 / +0x40 页面激活)、扩展区 0x320~0x3CF、编辑框族专用结构、功能号↔控件名对照、存档格式与转储方法论,共 10 章。

  • ★ +0x360 = 勾选状态位(0/1),8 控件 diff 证实;+0x40 = 组内页面激活位
  • ★ 编辑框文字不在对象体内:+0x368/+0x380 只是计数,文本在共享组件指针指向的堆缓冲区
  • 功能号映射全表(四魂 / 57 捡取 / 84 喊话间隔等)+ .aut/.scs/.mhslot 存档结构 + 待验证清单
打开报告 →
08

initiation_ok 控件分析 —— 通用「确定」按钮的身份排查

控件身份排查05_助手UI控件逆向/07_initiation_ok控件分析.html

字符串定位 + 交叉引用 + 反汇编:确认 initiation_ok_* 贴图是通用「确定」按钮,被两个非助手窗口复用(ID 0x62 / 0x72),最典型用途是武功初始化(洗点)危险确认弹窗。

  • ★ 贴图仅 1 处字符串(VA 0x10A52DC),代码引用 7 处、集中在两个函数簇
  • 创建点 1:ID=0x62,红色警示确认框(window_exchangebox_danger)的确定按钮
  • 创建点 2:ID=0x72,武功相关窗口(button_mugong 同屏)
  • ⚠ 0x62 / 0x72 都不在助手 0xA3F700 跳转表直发清单 —— 当助手控件直发必然无效
打开报告 →
控件分析05_助手UI控件逆向

initiation_ok 控件分析

字符串定位 → 指针交叉引用 → capstone 反汇编,锁定 initiation_ok 控件的身份与用途。

打开 →
子程序·诊断05_助手UI控件逆向
09

助手调用验证 · 易语言示例(贴进辅助工程即跑)

调用验证05_助手UI控件逆向/助手调用验证_易语言示例.txt

一段可直接贴进辅助工程的易语言代码:在 DLL 注入环境下验证「助手控件调用」这条链路是否通。

  • ★ 前提与寻路 call 同环境(DLL 注入、运行于游戏进程内),不需要额外的进程通信
  • ★ 示例自带验证输出,跑一遍就知道助手控件能不能被调起来
  • 配套:《助手验证_极简版_易语言》《助手0x3F4分派机制与控件ID实现表》
打开报告 →
10

助手控件实机对照表(内存遍历实测 74 个)

实机对照05_助手UI控件逆向/助手控件实机对照表.md

用易语言子程序 `遍历助手控件` 实机内存遍历采到的 74 个控件,做成「控件名 ↔ 内存对象 ↔ ID」对照表。

  • ★ 数据是**实机采的**(2026-09-18 14:07),不是静态反汇编推断
  • ★ 一次遍历同时给出控件名、类型、ID,可直接用来核对控件是否被创建
  • 配套 HTML 版《助手控件实机对照表.html》
打开报告 →
11

小助手调用 v3.2 极简版(易语言源码)

调用验证05_助手UI控件逆向/助手验证_极简版_易语言.txt

把机器码核心抽成独立子程序 `助手_发命令` 的极简版:只有 1 个参数、0 个局部变量,便于嵌进任何工程。

  • ★ 设计目标就是「最小可复制」—— 1 参数 0 局部变量,粘贴即可用
  • ★ 版本 v3.2(2026-09-18),与《助手调用验证_易语言示例》同批
  • 配套:《助手0x3F4分派机制与控件ID实现表》解释它背后调了什么
打开报告 →
12

助手 0x3F4 分派机制与控件 ID 实现表

分派机制05_助手UI控件逆向/助手0x3F4分派机制与控件ID实现表.md

静态反汇编(pefile + capstone)+ 实机内存遍历交叉验证,讲清助手 `0x3F4` 这层分派是怎么把「控件 ID」映射到「处理函数」的。

  • ★ 静态 + 活体双向互证:反汇编看分派逻辑,内存遍历看控件实际 ID
  • ★ 对象:`YGOnline.exe`(ImageBase 0x400000、32 位、无重定位)
  • 这是「按控件 ID 直发命令」能不能成立的理论依据
打开报告 →
13

偏移 0x364 全量反汇编分析(谁在读、谁在写)

全量反汇编05_助手UI控件逆向/偏移0x364全量反汇编分析.md

实机遍历证实「控件 ID = [控件+0x364]」之后,把游戏自身 373 万条指令全扫一遍,找出谁在读它、谁在写它、这个偏移还有没有别的含义。

  • ★ 全代码段扫描口径(capstone 逐指令,373 万条),不是抽样
  • ★ 回答的是「这个偏移是不是控件专用」这类根本问题
  • 配套 HTML 版《06_偏移0x364全量反汇编分析.html》
打开报告 →

池验证 —— 0x3C35758 存的是 UI 控件还是实体

只读验证控件池基址 0x3C35758 到底存的是「UI控件」还是「实体」,放在按钮的被单击里调用。

打开 →

时间制道具对象(箱子)逆向 · 续期方案

2 篇
内存逆向已实机验证

时间制道具对象逆向 · 续期方案

在 YGOnline.exe 内存中定位到「墨魂之箱子」等时间制道具的到期时间对象,完成结构定型、地址无关定位方案与改写验证。

  • 结构定型:记录步长 0x40;-0x20 处 80 3A 09 00(604800=7天秒数)为记录指纹;+0x00 处 5×WORD 年/月/日/时/分连存,就是到期时间;+0x14 的 epoch 是派生缓存(改它无效)
  • 定位方法(地址无关):全内存搜 80 3A 09 00 → 校验 +0x20 处 5×WORD 合法性。实测原始命中 43 处,校验后仅 1~2 处为真记录 → 必须校验
  • 改写验证成功:把新箱内存时间改为 2027/1/1 0:0,游戏工具提示立即显示「2027年1月1日 0時0分為止」 → 客户端直接读这 10 字节
  • 关键限制:重新登录后服务器重发道具列表,内存改动被覆盖回原值(已实测)→ 纯内存续期仅在当前会话有效
  • 旁证:内存中发现封包缓冲区(55 AA AA 55 魔数),内含服务器下发的新旧两箱时间 → 时间源头在服务端
验证时间:2026-09-20证据:CE 实机读写 + 游戏截图对照
打开报告 →
代码交付含避坑说明

时间制道具 · 读取与续期(易语言代码)

可直接使用的精易模块实现:扫描定位 + 读取列出 + 续期改写,含记录结构速查表与实测避坑清单。

  • 读箱子列表:内存.搜索 ({128,58,9,0}, 命中) → 逐个校验 5×WORD → 输出到期时间与地址
  • 续期箱子:精确匹配原时间后,内存.写短整数 写 5 个 WORD 完成续期
  • 必踩坑:读年月日时分必须用「读短整数」(2字节);用「读整数」会把年+月连读成 dword,得到 591850 这种错值
  • 其他坑:不校验会出现 43 条垃圾记录;地址每次重登都变(不可写死);服务器会覆盖改写
模块:精易模块 类_内存已适配项目写日志风格
查看代码 →

窗口与 UI 交互逆向

47 篇

定稿于 2026-09-28 的一整套「窗口弹出判定」体系:IFManager 槽偏移全表、内容面板判定、窗口槽位表数据类型、按钮点击(事件 0x409)、通知框与组队窗,以及 ybmsg 消息表与 rxbb.dll 界面清单。会话日期:2026-09-25 ~ 09-28

定稿·方法论07_窗口与UI交互逆向

窗口弹出判定 · 通用方法(定稿)

一句话结论:只看窗口对象下面那个「内容面板」(类型码 24 = InterWindow)的 +0x40 是不是 1。窗口对象自身的 +0x40 是「曾激活过」的粘滞标志,关窗不清零,绝不能用。

打开 →
方法+修正记录07_窗口与UI交互逆向

窗口弹出状态与窗口信息遍历

含被推翻的旧公式完整记录(旧「窗口对象 +0x40 == 1」在组队窗显示时=0、交易窗关闭后仍=1),以及遍历 IFManager 192 槽的正确姿势。

打开 →
子程序07_窗口与UI交互逆向

子程序:窗口是否弹出(槽偏移)

传入 IFManager 槽偏移(十进制),返回该接口窗口此刻是否显示。原理:读窗口对象后扫其子槽 +0x300~+0x600(192 个),找类型码 24 面板判其 +0x40。

打开 →
子程序·带日志07_窗口与UI交互逆向

窗口是否弹出 · 带日志版

不改判定逻辑,把每一步读数写进挂机日志,用于分辨「IFManager 没读到 / 槽偏移填错 / 窗口真没开」,并打印扫到几个内容面板与各自 vis。

打开 →
定稿·避坑07_窗口与UI交互逆向

窗口是否弹出 · 参数防呆 + 初始化放哪

「槽 0 (0x0)」事故复盘:根因是漏调 窗口槽位表_初始化()(对象 17701228 已是 IFManager 虚表,内存链路正常,纯粹是 窗口.交易 成员为 0)。附槽偏移合法性检查(768~1532)与幂等初始化,并比较初始化该放哪 4 个位置。

打开 →
子程序07_窗口与UI交互逆向

子程序:当前弹出窗口()

直接返回屏幕上所有弹着的窗口名(例:InterMAIN 槽940 面板+836),靠 RTTI 反查类名,游戏更新平移也不失效。

打开 →
子程序07_窗口与UI交互逆向

槽偏移遍历(写日志)

一次性把 IFManager 全部 192 个槽扫一遍,每个槽是什么窗口、有几个内容面板、哪些正在显示,全部写进挂机日志;游戏更新后用它重新摸清槽位表。

打开 →
实测总表07_窗口与UI交互逆向

窗口偏移全表(75 个接口窗口)

IFManager 全部接口窗口活体全量遍历:槽偏移 / 内容面板偏移 / 类名三列对照,并给出「窗口在屏幕上」的判据(类型码 24 面板 +0x40==1)。

打开 →
方法说明07_窗口与UI交互逆向

窗口内容面板偏移 · 是怎么遍历出来的

接口窗口没有「固定的面板偏移表」可抄:193 个面板实例分布在 78 种偏移(+0x330 最多只占 17%),只能扫 窗口对象+0x300~+0x600 找类型码 24 且 +0x40==1 的那个。

打开 →
数据类型07_窗口与UI交互逆向

窗口槽位表 · 易语言自定义数据类型

把全表做成 72 个成员的自定义数据类型(如 .成员 交易, 整数型 = 1236),直接写 窗口是否弹出(窗口.交易) 即可;含 窗口槽位表_初始化() 与全局变量。

打开 →
实测·修正07_窗口与UI交互逆向

组队窗口 7034/7035 与弹出判定修正

组队窗按钮 7034/7035 归属澄清:其 +0x04 父指针指向 InterParty 对象(7029)本身,7030 是 +0x330 的 InterWindow 面板 —— 二者是兄弟不是父子;并删除「窗口对象 +0x40 == 1」这个条件。

打开 →
定稿·方法论07_窗口与UI交互逆向

按钮点击call · 纠正版(事件 0x409 派发)

三个名字三条路别混用:点按钮 = 事件 0x409 + 控件ID 派发给 UI 事件分发器 [0x0188C60C];附机器码逐字节实证(游戏原文在 0x00CFB623),控件 ID 在按钮对象 +0x0C 且会话内递增,禁止写死。

打开 →
子程序07_窗口与UI交互逆向

子程序:控件全量名字遍历

控件池(容量 15000)全量遍历控件名:控件结构 +0x00 虚表 / +0x04 父窗口 / +0x0C 槽号 / +0x364 控件ID / +0x368 名称(BIG5 内联缓冲)。

打开 →

发包与功能 CALL

18 篇

封包构造骨架、开店/销毁物品等发包写法,以及快捷栏、寻路、死亡回城、内挂丸/小助手等功能 CALL 的可用实现。会话日期:2026-09-25 ~ 09-27

实测08_发包与功能CALL

寻路call · CE 活体分析报告

走路 call 全段机器码只有 1 个 call:edx = 人物对象虚表第 2 项(通用命令派发,thiscall);压栈 0x3EF 命令号 / pData 84 字节 / 0x54。

打开 →
定稿·代码08_发包与功能CALL

开关内挂丸 · 定案版 v2

池基址 0x03C35758 = 63133528;功能号 49 = 啟動內掛丸 / 50 = 停止內掛丸;ecx = 控件对象本身(不是 控件对象+4)。

打开 →
代码08_发包与功能CALL

开关内挂丸 · 精易模块版

纯精易模块实现(只用 内存_读整数型 / 置入代码,无大漠、无自写 API);含本次最大纠错:点按钮走的不是 0x682880。

打开 →

组队与队员

25 篇

队员基址定稿、队员记录偏移全表、队长判定与自动组队/线程调度。会话日期:2026-09-26 ~ 09-28

子程序09_组队与队员

自动组队 · 线程调度

自动组队线程的启停调度(选中开关 + 运行中标志 + 线程句柄),避免重复起线程与强杀隐患。

打开 →
子程序·定稿09_组队与队员

是否是队长 · 判定子程序

遍历 8 槽,任一有效队员带队长标志(+864)==1→别人是队长→假;否则自己即队长→真(含单人)。移交队长后返回假是正确行为。

打开 →
子程序·修正09_组队与队员

自动组队邀请 · 检查修正版

按名单逐个邀请(已在队跳过/满员即停),修掉多 1 个 .如果真结束 的编译错误;含名单取/队员数/发包邀请/名字组队。

打开 →
子程序·排查09_组队与队员

队员表体检 · 调试探针

打印 全局_进程句柄 + 每槽对象/有效/队长原始值,定位「都返回假」:句柄≤0 / CE挂64位 / 偏移平移 一目了然。

打开 →
子程序·避坑09_组队与队员

进程句柄初始化 · 连游戏前必调

全局_进程句柄=-1 会导致所有内存读取静默失败;本子程序用 进程_名取ID+内存_打开进程 赋值,须编译 32 位+管理员;XIGNCODE 挡则改 CE 桥。

打开 →
子程序·定稿09_组队与队员

自动处理组队 · 接线程调用(定稿)

自动处理组队 直接当 启动线程(&自动处理组队) 线程体;含复选框事件(接受组队.选中 启动+互斥取消自动组队)+ 句柄守卫;单发模型需放时钟每周期重触发。

打开 →

背包与物品遍历

3 篇

通用背包/装备栏遍历、背包勾选批量上架、物品负重字段探测。会话日期:2026-09-24 ~ 09-26

基址更新与环境

8 篇

基址常量版本管理、仓库/容器扫描、任务列表探测、偏移稳定性总纲,以及 CE 位数这类环境坑。会话日期:2026-09-24 ~ 09-28

定稿·常量11_基址与环境

基址常量 版本3(0924 活体更新)

已活体确认的常量清单:全局大列表基址 63133528 / 0x3C35758(旧 0x3BE80D0 读 0 作废)、背包基址值 62846416 / 0x03BEF5D0(旧 0x03B9DCE0 作废)等。

打开 →

版本迭代与数据分析

16 篇

2026-10-09 ~ 10-12 期间新增的报告:内存逆向新发现(背包空格误判 / 怪物坐标偏移 / 地面物品对象 / 发包打怪)与版本改动说明、挂机日志分析。会话日期:2026-10-09 ~ 10-12

对象结构12_版本迭代与数据分析

地面物品对象结构(类型 0x33 全表)

地面掉落物 = 对象表 8000~9999 槽中 `+0x08 == 0x33` 的对象:槽位 ID `+0x0C`、堆叠 `+0x10`、归属 `+0x14`、编号 `+0x78`、名字 `+0x94`、世界坐标 `+0x148/0x14C/0x150`;`+0x228` 起是渲染插值。

打开 →
版本说明12_版本迭代与数据分析

v23 · 卡坐标与回补异常兜底 说明

回补异常累计与「关闭游戏进程」兜底、卡坐标判定等改动的说明 —— 含「`回补异常_趟数` 必须 ≥3,设 1 等于上线即被反复关游戏」这类踩坑结论。

打开 →
代码片段12_版本迭代与数据分析

挂机坐标同步 · 客户端代码片段

挂机坐标 / 坐标脚本与服务端同步的客户端实现片段(对接 `yxzh_script.asp` 的 coord / script 接口,中文名必须走自建 `URL编码_GBK`)。

打开 →

内挂配置逆向(.aut 档 / 35 项开关 / 控件映射)

10 篇

游戏内挂 .aut 档结构(11812B = 4B 头 + 4 槽 × 2952B)、35 项开关字节、控件 ID 与页级读写、出厂默认档来源、读写工具说明。2026-10-18 ~ 10-19 新增

台服外部资产(官网 / 客户端下载 / 服务器)

3 篇

台服(热江 · 新熱血江湖)官网前后端观察、更新与下载地址、游戏服务器端口与外部暴露面评估。2026-10-18 ~ 10-19 新增

助手各版本改动说明(按版本号归档)

41 篇

按版本号记录的每一次改动:崩溃根因、回补链、防杀、躲避、凝神珠、跨图脚本、日志与配置等。2026-10-18 ~ 10-19 新增

说明15_助手版本迭代说明

自动购买助手 · 改动说明

新增一个子程序 自动购买助手,只加子程序,没动界面、没挂进挂机主循环(按你的要求,连接点你自己接)。

打开 →