Skip to content

hackmud 简体中文汉化补丁 v1.0.1

Choose a tag to compare

@DRDRDRRDDRDR DRDRDRRDDRDR released this 28 Sep 15:28
· 7 commits to main since this release

hackmud 简体中文汉化补丁 v1.0.1

紧急修复:v1.0.0 会导致游戏无法登录。请务必使用本版。

修复内容

Token token=" 被误译,导致所有网络请求失败

客户端执行的是:

www.SetRequestHeader("Authorization", "Token token=\"" + token + "\"");

v1.0.0 把这个前缀译成了 令牌 token="。Unity 的 SetRequestHeader 会拒绝含非 ASCII 的 header 值,
抛出:

InvalidOperationException: Header value contains invalid characters

后果:所有鉴权请求根本发不出去,游戏卡在「命令执行超时。请重试。」,无法登录。

本版已把该字符串还原为英文。这是 v1.0.0 唯一的已知功能性缺陷。

为什么之前没发现

原有的判定逻辑把「被 Concat 拼接的字符串」一律当作显示用途,而这条恰恰是用 Concat
拼出来的协议串。教训是:判断一个字符串能否翻译,不能看它怎么被拼接,要看它流向哪个 API。

本版为此新增了自动化闸门 audit_protocol.py:反汇编 Core.dll,找出所有网络/协议 API 调用点,
断言紧邻的字面量全是纯 ASCII。CI 每次提交都会跑;该脚本在解析失败或未检视到字面量时会拒绝放行
(宁可失败也不做"永远绿"的空闸门)。

已知问题(不在本补丁范围内)

  • Steam 认证失败(723 / HTTP 401):已实测用原版未修改的 Core.dll 同样复现,
    与本补丁无关。可能成因:系统时钟偏差(本机实测慢约 96 秒,且 Windows 时间服务未启动)、
    Steam 登录态、代理/VPN 线路。请先校准系统时间再试。
  • 开场自检文字未翻译:initializing kernel... done. 等 13 行位于 Unity 资产
    (level0 与 sharedassets0.assets,UTF-8 编码),不在 Core.dll,故本补丁覆盖不到。

校验值

文件 SHA256
Managed/Core.dll 04523E88269020BF92A20A05F132BB3FEF6C19F12D6AAE8855BC3437FA4FBF52
resources.assets 5B2345F938D02A4289A76518D3DEA8B604CD3EAEDDE870C3BAE8958CDAB2C6D7

安装 / 回滚

powershell -ExecutionPolicy Bypass -File install_zh.ps1 install
powershell -ExecutionPolicy Bypass -File install_zh.ps1 rollback

⚠️ 风险声明

hackmud 官方规则禁止修改任何既有文件(Modifying any existing files is not permitted),
并把 client file modification 视为 "custom client",检测到可能导致封号。使用风险自负。
分发的二进制为修改后的游戏文件,版权归 hackmud 开发者所有。