本帖最后由 卢大侠 于 2026-10-8 20:59 编辑
【AION2】外部透视辅助工具 —— 只读、不注入、不写内存
平台:AION2 (UE5)
一、这是什么
一个运行在游戏 外部 的透视工具,通过 ReadProcessMemory 读取客户端数据,在我们自己创建的透明窗口上绘制信息。
它不注入游戏进程、不修改游戏内存、不发送任何数据包。所有数据都是只读的,关掉它游戏照常运行,不会留下任何痕迹。
界面已完全汉化——菜单、HUD、启动横幅、日志、转储文件表头全部是中文。
二、核心功能
▶ 透视绘制
- 方框:完整矩形,或四角的 L 形括号(不遮挡角色轮廓)
- 名称:显示在方框上方
- 距离:单位米,从你自己的角色算起(不是相机)
- 分类标签:每个目标下方显示分类
- 连线(Snapline):从屏幕边缘 / 自己角色 / 顶部,连到每个目标
- 屏幕外标记:相机看不到但足够近的目标,会在屏幕边缘显示箭头指向它
▶ 分类过滤(每个独立开关)
| 分类 | 默认状态 | | 怪物 | 开启 | | 宝箱 | 开启 | | 采集节点 | 开启 | | 可交互物 | 开启 | | 隐藏方块(奥德能量方块等) | 开启 | | 传送门 / 门 | 开启 | | 玩家 | 关闭(城镇里太杂) | | NPC | 关闭 | | 宠物 | 关闭 | | 物品 / 掉落 | 关闭 | | 世界物体 | 关闭 | | 其他 | 关闭 |
▶ BOSS 与狩猎目标
- list_boss:声明的 BOSS / 小型 BOSS,用实心红绘制
- list_target:你在狩猎的怪物,用掉落物黄绘制
- 支持从 aion_boss.txt / aion_target.txt 按行追加,游戏中途也能加
- 匹配顺序:模型 → 对象名 → ESP 显示名 → 类名
▶ 学习名称系统
客户端不会把名称存在 actor 上,而是动态解析到姓名板控件里。工具通过读取游戏自己的姓名板,按模型学习名称:
- 见到 MOB_GraveSoul_01 一次,所有同模型实例都会被命名
- 学到的名称写入 aion_names.txt,跨会话保留
- 学习后即使目标远到没有姓名板,也能显示名字
- 用 --harvest-plates 可以一次性扫描当前视野内所有姓名板,快速填满
▶ 颜色完全可自定义
- 14 个分类每个一种颜色
- 菜单里 LEFT/RIGHT 遍历命名预设(红、淡红、橙、黄、青柠、绿、淡绿、青、蓝、紫、洋红、粉、白、浅灰、深灰、黑)
- ENTER 打开 R/G/B 单通道微调
- 也可以直接在 aion.ini 里写 color_monster=FF9696
▶ 性能与界面
- DirectComposition GPU 合成:帧率跟随显示器刷新率,无回读开销
- 点击穿透:游戏左键攻击、右键移动完全不受影响
- 失焦自动隐藏:Alt-Tab 出去时整个窗口消失,回来才恢复
- INSERT 打开菜单:方向键导航,ENTER / LEFT / RIGHT 调整
- 性能面板:实时显示各阶段耗时、实体数、句柄状态
- 反作弊句柄剥离自动恢复:进程句柄被反作弊关闭时自动重开,读取不中断
▶ 配置与数据文件
启动时会自动在 exe 旁边生成 aion.ini,带完整中文注释。所有菜单里的设置都会写进这个文件。
| 文件 | 作用 | | aion.ini | 主配置 | | aion_names.txt | 学到的 模型 → 名称,可手动编辑 | | aion_boss.txt | 声明的 BOSS 列表,每行一个模式 | | aion_target.txt | 狩猎目标列表,每行一个模式 | | aion_external.log | 会话日志(需要在配置里开启) |
三、使用方法
- 先启动 AION2,进到游戏中
- 双击 aion_external.exe(建议以管理员身份运行,否则可能无法打开受保护的进程)
- 进游戏后按 INSERT 打开菜单
- 按 方向键 移动选择,ENTER / 左右箭头 调整
- 再按 INSERT 关闭菜单
工具会自动:
- 重命名自己的 exe(避免被名字扫描)
- 找到游戏窗口并贴合对齐
- 等待客户端运行时对象(GNames / GObjects)就绪
四、界面说明
打开菜单后你会看到四个区域,用 ENTER 可以折叠 / 展开:
- 透视 —— 主开关、方框、名称、距离、分类、距离上限、字体、绘制上限
- 分类 —— 每个分类的显示开关
- 颜色 —— 每个分类的调色板
- 操作与列表 —— 转储类名、重载配置、保存设置、日志开关
- 未打开菜单时屏幕底部会显示 INSERT = 菜单 提示
- 如果游戏还没进入世界,屏幕左上角会显示 等待本地玩家...
五、高级命令行参数(可选)
一般用户用不到,但如果你想自己摸索游戏数据,可以用:
| 参数 | 作用 | | --dump-classes | 转储所有存活 actor 的类名 + 模型到 aion_classes.txt | | --dump-props=类名 | 转储匹配类的属性,例如 --dump-props BP_EnvObj | | --dump-nameplate | 解析姓名板控件,输出到 aion_nameplates.txt | | --harvest-plates | 一次性扫描所有姓名板并合并进 aion_names.txt | | --find-name="文本" | 在数据表 / 字符串表 / 对象名中搜索文本 | | --find-row=关键字 | 在数据表里查找行 | | --scan-objects=子串 | 直方图统计匹配的对象类名 | | --dump-ai | 只读调查 NPC AI 对象图,输出到 aion_ai.txt | | --capture=out.bmp | 截图当前 ESP 渲染结果到 BMP | | --dump-atlas=out.bmp | 转储字体图集(调试字体用) | | --pattern | 显示一个明显的洋红色方块,验证 overlay 是否真的覆盖在游戏上 | | --menu | 启动时直接打开菜单 |
六、已知限制
- 只显示,不修改游戏:不会自动打怪、不会传送、不会加速、不会给物品
- 不是透视:只能读到客户端已经加载的 actor;服务器没下发的信息读不到
- BOSS 列表需要自己声明:客户端不暴露怪物等级,哪个是 BOSS 由你在配置里指定
- 名称学习需要先遇到:第一次见到某个模型需要它展示姓名板(近战范围),之后才能远程命名
- 物品 / 掉落默认关闭:城镇里太杂乱,需要手动在菜单里开启
七、常见问题
Q:启动后提示"SDK 初始化失败"?
A:客户端还没进入世界,或者被反作弊拦住了句柄。以管理员身份运行试试。或者等待 60 秒(sdk_wait_seconds)后它会自己诊断并打印原因。
Q:屏幕上一个方框都没有?
A:确认游戏在前台、透视主开关是开的、对应分类的开关也是开的。菜单里按一次"转储 actor 类"看看究竟有没有目标被识别到。
Q:会不会被封号?
A:这个工具本身不注入、不修改、不发送数据,只通过操作系统提供的 ReadProcessMemory 读取游戏公开的内存。但任何第三方工具都有风险,使用后果自负。
Q:怎么加新怪物到目标列表?
A:菜单 → 操作与列表 → 转储 actor 类,在 aion_classes.txt 里找到模型的 mesh 名(例如 MOB_WindEle_01),然后编辑 aion_target.txt 加一行,回到菜单按"重载 aion.ini"即可。也可以直接在 aion.ini 的 list_target= 里加。
|