XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEEDToolBox

【WinUI】XFE精英危险工具箱

公开
关注 0 Fork 0 Star 0
UTF-8

日志与跑商暂停恢复

本次星图账号缓存重复报错来自读取器误把字符串尾部的填充字节当作固定格式标记。先前“固定标记为 0x100”的解释也不准确:当前游戏的原始写入函数只写 VisitedStars 与 offset 12 的 NUL,offset 13–15 没有初始化;原始读取函数遇 NUL 即结束字符串比较。因此观察到的 0x100、0x200 是把 NUL 和后三个填充字节误读为整数的结果,既不是格式版本,也没有证据表明是桶容量。实际布局版本在 offset 16,为十进制 200。现已按原始写入与读取语义修正,仍严格检查 NUL、版本、账号、指挥官、长度、记录和结束标记;不会改写原游戏缓存。两次真实缓存只读验证均为 262 条,分别记录了读取前后不变的 SHA-256。

工具箱记录会合并同一来源的重复诊断,显示首次、最近时间和出现次数。加载或短暂遥测缺失显示等待状态;持续未就绪会升级提示,真正的接口、权限或数据异常仍保留警告或错误。展开“诊断详情”可查看首次和最近的完整错误。恢复后,该轮记录标为“已恢复”;错误类型改变会另起一轮。普通执行事件保留各自的时间顺序。

诊断还保存在工具箱数据目录的 logs/activity.jsonl,首次、恢复及约每分钟写入累计摘要,正常退出时补写末次累计。当前文件超过约 5 MiB 时轮换,另保留三份轮换文件。聚合不会使不可靠的数据获得控制权限,也不会让安全拒绝变为成功。

自动关闭游戏暂停菜单只在原生跑商实际运行时启用。模拟、日志领航、启动准备、用户暂停、停止、取消及显式返回菜单恢复期间均没有这项权限。恢复同一飞船会话并重新核对接口后,才建立新的运行权限;旧权限不会复活。

连续自动跑商使用“取消”停止新增操作并释放控制。执行页的“暂停/继续”只用于单次路线执行;连续模式下这两个按钮禁用。

恢复暂停菜单前会确认当前主船身份、健康状态和原游戏稳定的 Pause 菜单,只调用其中唯一可用的“继续游戏”原生动作。未知菜单、设置、重生、错误或退出页面不会自动关闭,也不会盲发 Esc。用户暂停工具箱跑商后,即使游戏再次弹出暂停菜单,也会保持暂停。

最终后台日志页证据位于 work/visual/activity-log-20261025-final/:只出现两条真实状态/信息记录,三次地点读取合并为一条带计数的记录,旧 VisitedStars 警告消失。摘要原图、局部与 OCR 已核验;当次没有真实诊断,展开详情仍标为尚未确认。修复前 activity-log-20261025-preview-r1 的真实警告展开图单独保留,不冒充最终版本的新异常。

2026-10-25 实机暂停恢复

work/trade-pause-20261025/live02 已在当前固定游戏构建及 0.5.19-dev 插件上通过。使用真实 Panther MkII、ShipID 8,实际货舱容量 1,184 t、当前空舱;该装配没有护盾,原生读取船体 100%、护盾 0、无当前损伤及 emergency。没有将无盾装配伪造为满盾。

验收先完成生产 NativeTradeCommandDriver.PreflightAsync,再由真实 TradeRunner 进入 NativeBridge/Running。独立安全边界将第一项采购和站点服务保持在待执行状态,所有 Buy、Sell、Travel、Service 均不转发给生产动作入口,也不返回虚假交易成功。确认真实运行权限已经生效后,通过当前游戏构建已核对的唯一原始 Pause graph 入口提交一次请求;记录实际 PrePauseMenu → Pause → InGame,并取得专用恢复请求 e2fef60784fc4f1bbfde0179eada8523 的 applied=true。开菜单的请求 ID 与恢复请求 ID 不同,两项均未重复提交。

随后调用生产 Runner 的 Pause,原生权限立即变为 inactive;Resume 建立新的 owner/runId;Stop 再次撤销权限。历史 applied 回执在这些阶段仍会保留,不能把它计作重复恢复。最终游戏仍在原实例的 InGame,速度 0、controlApplied=false,没有请求结束客户端。

原生采购、销售、飞行、站点服务和系统键鼠输入均为 0。前后独立原生钱包均为 223,879,276 Cr,货物均为 0 t,容量及主船实体一致。harness 使用真实目录的选中身份集合比较,报告目标相同;两个原始集合没有分别落盘,因此独立审计没有对目标集合重复计算。该次独立审计曾通过 25 项检查;辅助 artifacts 产物已随临时目录清理,原始结果和逐帧记录仍保留在上述 work 目录,验收入口源码位于 research/NativeAcceptance。

首轮 live01 没有通过,记录保留:Core 将续租请求的 entityId 发成 JSON 字符串,而原生 JsonWire.U64 严格使用 GetUInt64() 读取 JSON 数字,导致权限始终未建立。修复采用 ulong EntityId 的明确请求类型,保留原生解码和所有身份、健康、时效及 Running 检查;没有放宽保护。数值契约回归覆盖实际实体 ID、超过 2^53 的整数及 ulong 上限,并确认旧字符串编码会被拒绝。harness 也已记录后台状态和等待权限的原始帧,避免此类错误只表现为超时。

本轮实机范围是一艘安全停泊飞船、一次明确请求的原始 Pause,以及生产 Runner 的权限生命周期。它没有完成任何跑商交易或航程,没有实机打开错误、设置、重生等页面,也没有等待长时间无人操作的触发计时。后几类菜单的拒绝由定向回归覆盖。飞行遥测停止时使用新鲜菜单线程主船身份的路径已有夹具验证;这次短暂停并未证明长时间物理遥测停顿。自动功能仍只响应实际识别到的原始 Pause,不能据此宣称其他菜单、所有船型或所有环境均已实机验证。