rxjh_aut.py 使用说明目标:读写<游戏目录>\client\<账号>.aut,也就是「被封印的内挂丸」保存的那份配置。
结构全部来自 110+ 个样本实测,2026-10-18/19 复核。
工具路径:D:\AI空间\rxjh\tools\rxjh_aut.py
.aut = 4 字节头(6A 00 00 00) + 4 个「配置槽」× 2952 字节 = 11812 字节(恒定)
每个槽 = 2 个「页」× 1476(0x5C4) 字节 ← 页 = 一套独立设置,两页互不影响
页内布局(页基址 = 槽基址 + 0x5C4 × 页号):
| 页内偏移 | 长度 | 内容 |
|---|---|---|
0x000 | 2 | 页标记 01 01 |
0x006 | 4 | 版本标记 16 43 01 01 |
0x00C / 0x010 | 4+4 | 两个 float(实测 0.78 / 0.40) |
0x01C ~ 0x06F | 12×8 | 数值区(攻击/恢复/范围类,前 4 字节是 float) |
0x074 | 35 | ★ 功能开关位图,每字节 1 个开关(0 关 / 1 开) |
0x098 | 1 | ★ 数量档位(实测 0 / 3 / 5 / 7 / 50) |
0x09C | 5 | 标志位(实测 01 01 01 01 01) |
0x0A9 | 13×78 | ★ 名单:BIG5 字符串,辅助武功/道具名,如 /邀請 TD26871020 |
0x4A8 ~ 0x550 | — | 第二组设置(0x4BA 有 16 43 标记) |
0x56C | 29×2 | ★ 参数表(每项取第 1 字节,99 = 空/未设置) |
0x5A6 ~ 0x5C3 | — | 尾部 |
保存机制:fopen(path,"r+b") → fwrite(整块 11812) → fclose(内含 SetEndOfFile 截断)。<br>定长结构体整块覆写,没有增量、没有 ini、没有注册表。
cd D:\AI空间\rxjh\tools
set PY=C:\Users\Administrator\.workbuddy\binaries\python\envs\default\Scripts\python.exe
:: 1) 四个槽一眼看全
%PY% rxjh_aut.py list orzo
%PY% rxjh_aut.py list mumber0010
:: 2) 详细内容(不写盘,随便看)
%PY% rxjh_aut.py dump mumber0010
%PY% rxjh_aut.py dump mumber0010 --slot 1
%PY% rxjh_aut.py dump mumber0010 --slot 1 --json :: 机器可读
:: 3) 改:开关 / 参数 / 档位 / 名单
%PY% rxjh_aut.py set chang1 --slot 0 --switch 3=1 --switch 16=0
%PY% rxjh_aut.py set chang1 --slot 0 --param 0=20 --param 2=35
%PY% rxjh_aut.py set chang1 --slot 0 --count 5
%PY% rxjh_aut.py set chang1 --slot 0 --item "0=/邀請 TD26871020"
%PY% rxjh_aut.py set chang1 --slot 0 --page 1 --switch 1=1 :: 改第 2 页
:: 4) 槽之间搬运
%PY% rxjh_aut.py copy chang1 --from 0 --to 2
%PY% rxjh_aut.py diff chang1 --a 0 --b 1
%PY% rxjh_aut.py init chang1 --slot 3 --from 0 :: 空槽做成合法骨架
%PY% rxjh_aut.py clear chang1 --slot 3
:: 5) 备份成 JSON / 用 JSON 还原
%PY% rxjh_aut.py export chang1 my_chang1.json
%PY% rxjh_aut.py import chang1 my_chang1.json --slot 2 --src-slot 0
:: 任何写操作都可以先看不动
%PY% rxjh_aut.py set chang1 --slot 2 --switch 0=1 --dry
参数说明:
path 可以直接写账号名(自动补 <游戏目录>\client\<账号>.aut 和 .aut 后缀),也可以给完整路径。--slot 省略时=当前生效槽(非零字节最多的那个)。.bak(加 --no-backup 关掉)。--force。> python rxjh_aut.py list mumber0010
文件 D:/rxjh2025/client\mumber0010.aut 11812 字节 4 槽 × 2 页
当前生效槽(非零最多): 槽1
──────────────────────────────────────────────────────────────────────────────
槽 非零字节 页0开关 页1开关 页0档 页1档 页0参数 页0名单
──────────────────────────────────────────────────────────────────────────────
0 0 0 0 0 0 0 0
1 260 7 3 5 5 0 5
2 21 1 0 0 0 0 0
3 0 0 0 0 0 0 0
──────────────────────────────────────────────────────────────────────────────
槽1 页0 已开启开关序号: [1, 2, 3, 30, 31, 32, 34]
槽1 非零字节 260 (当前生效)
── 页0 ──
标记 01 01 版本标记 16 43 01 01 数值A 0.7800 数值B 0.4000
开关(35) : 01110000000000000000000000000011101
已开启 : [1, 2, 3, 30, 31, 32, 34]
档位 : 5 标志: [1, 1, 1, 1, 1]
参数(29) : [0, 0, ...]
名单(13) :
[ 0] /邀請 TD26871020
[ 1] /邀請 TD26871030
chang1 那种「挂机在跑」的号则是:
槽0 非零字节 144 页0开关 13 页0档位 3 页0参数 29 项全填
已开启开关序号: [2, 3, 5, 6, 7, 8, 9, 10, 13, 16, 30, 31, 32]
参数(29): [15, 99, 25, 2, 99, 99, 99, 99, 99, 29, 2, 99, 99, 99, 30, 2, 5, 99,
40, 99, 99, 5, 99, 80, 10, 99, 10, 99, 99]
(参数表里 99 当「空/不设」用,其余是百分比或秒数。)
import sys
sys.path.insert(0, r"D:\AI空间\rxjh\tools")
from rxjh_aut import AutFile
f = AutFile(r"D:\rxjh2025\client\chang1.aut")
print(f.active_slot) # 当前生效槽
s = f.slot(0)
print(s.nonzero, s.switches, s.count, s.params, s.items)
p0 = s.page(0)
print(p0.float_a, p0.float_b, p0.numbers())
p0.set_switch(3, 1) # 打开 3 号开关
p0.set_param(0, 20) # 参数 0 = 20
p0.set_count(5)
p0.set_item(0, "/邀請 TD26871020")
f.save() # 自动 .bak
import/export 走的是 Page.to_dict()/from_dict(),里面带 raw(1476 字节十六进制),<br>所以导出再导入是逐字节一致的(已实测 0 差异)。
顺便说:orzo 这种刚登录从没点过保存的号,.aut 里 4 个槽几乎全 0,页面上看到的勾选只是运行时默认值。
0x000 是 00 00 而不是 01 01,游戏可能不认。用 init(或直接 set,工具会自动按模板初始化)。已知对照:chang1 开着 [2,3,5,6,7,8,9,10,13,16,30,31,32],mumber0010 开着 [1,2,3,30,31,32,34],<br>但缺「点一下 → 看哪个字节变」的对照实验。补齐方法:<br>> 游戏里只改一个勾选 → 点「保存设定」→ python tools\_watch_save.py 会报出改动的字节偏移 → 换算成开关序号。
.aut 里的名字是 BIG5。工具已经自动解码/编码,中文不会乱;但命令行里名字别以 / 开头(在 Git-Bash 下会被当路径改写成 C:/...),用 cmd/PowerShell 或在前面加引号加空格都行。| 文件 | 内容 |
|---|---|
分析报告汇总\05_助手UI控件逆向\助手控件实机对照表.html | 面板上每个控件的窗口偏移 / 控件 ID / 名称(CE 实机 98 个) |
分析报告汇总\05_助手UI控件逆向\控件对照表_20261018.csv | 上面那份表的原始数据 |
内挂配置_保存机制_20261018.md | .aut / .mhslot / .scs 三种存档的结构与保存机制 |
tools\_watch_save.py | 轮询监控存档写入,写入即存快照并算差异(补齐开关对照用) |
tools\_aut_cfg.py | 早期版本(结构没拆到「页」这一层,保留作参照) |