Releases: DRDRDRRDDRDR/hackmud-zh
Release list
hackmud 简体中文汉化补丁 v1.3.2
hackmud 简体中文汉化补丁 v1.3.2
真机截图复盘发现的 2 处客户端漏译,已补齐。这两条是 v1.3.1 审计误判漏掉的。
本版新增
| 原文 | 译文 | #US 偏移 |
判定依据 |
|---|---|---|---|
Received |
收到 |
0x5c91 |
method#1421 里 Format("L{0}{1} 来自C{2}", "Received", …) 的显示实参 |
CONNECTING |
连接中 |
0xca6a |
唯一引用点就是 UnityEngine.UI::set_text |
真机表现:修前会看到 Received 36GC 来自 marks —— 同一句里一半英文一半中文。
为什么上一版漏了(两条独立的误判叠加)
v1.3.1 的审计把 Received 判成「JSON 键」,错在两处:
- 消费方启发式不准:旧法取
ldstr后 6 条指令内的第一个call当消费方。
而Received是多参表达式的一个实参,后面那个get_Item其实是紧接着的'amount'实参的调用。
→ 已改为只看紧随其后 1 条指令。 IDENT规则太粗:把「无空格无标点的单词」一律归为「标识符/键名」,
Received/CONNECTING这类单词显示文本正好落进去。
→ 该类别共 209 条,是漏译高危区,已逐条重扫。
改正后重扫,Received、[DEADNODE]、final、time、fg、priv_store 等
「疑似显示」条目全部复检:
| 串 | 结论 | 依据 |
|---|---|---|
CONNECTING |
可译 ✅ | 唯一消费方 set_text |
Received |
可译 ✅ | Format 的显示实参 |
[DEADNODE] |
禁译 ✗ | 既做 ContainsKey 字典键、又做显示 —— 单副本,译了键就找不到 |
final |
禁译 ✗ | 两处都是 op_Equality 判别式 |
time |
禁译 ✗ | 同时是 userAutos.Add("time") 补全键、TryGetValue("time") JSON 键 |
fg / priv_store / chat_pass / trade_gc / pass / OnLayout |
禁译 ✗ | 均有字典/比较类消费方 |
新增「显示文本权威清单」工具
recon/find_settext_strings.py:穷举所有 ldstr 紧接 UnityEngine.UI::set_text 的字面量
—— 凡直接喂给 set_text 的串一定被渲染到界面,这是显示文本的权威集合。
本次结果:纯显示 3 条(`c `、time、CONNECTING),有其它消费方 43 条。
真机验证(本轮已做)
启动游戏连拍 64 帧 + Windows OCR:
- 载荷哈希 4/4 匹配、进程存活、识别汉字 2048 个
- 开场自检动画识别为中文(
创建备份补丁文件、初始化半空间入口、哈希脚本令牌、刷新缓存、预热主用户界面),英文开场 0 命中 - 终端界面为中文(
[清空窗口]、[断开终端连接]、要运行脚本,请输入脚本名称并按回车。)
仍为英文且确认无法汉化
| 内容 | 原因 |
|---|---|
Top level marks are available to earn now…、Because I'm - again - such a nice fella…、mark ::!money_manager:: has been hidden、Death and taxes… 等 |
服务器下发的 marks/脚本输出,在 Core.dll 中零命中(实测),本地改不到 |
scratch / chat(面板标题) |
是窗口/面板标识符:method#2723 用 FFCLEEJHJNN("shell"/"badge"/"breach"/"scratch") 按名找 GameObject;译了会找不到面板 |
命令名与脚本名(trade、marks.accts、sys.specs …) |
玩家要敲、服务端要校验 |
校验值
| 文件 | SHA256 |
|---|---|
Managed/Core.dll |
见包内 SHA256SUMS.txt |
resources.assets |
5B2345F938D02A4289A76518D3DEA8B604CD3EAEDDE870C3BAE8958CDAB2C6D7 |
sharedassets0.assets |
B837895A23225B7A4CEAD9AC477A2328AFD856FC585465E3022F9D26236A15EE |
level0 |
0465927CA0FCFD49519FB331487D0FAEC0653026982E731F430090C982A4695C |
⚠️ 风险声明
hackmud 官方规则禁止修改任何既有文件,并把 client file modification 视为 "custom client",
检测到可能导致封号。使用风险自负。分发的二进制为修改后的游戏文件,版权归 hackmud 开发者所有。
hackmud 简体中文汉化补丁 v1.3.1
hackmud 简体中文汉化补丁 v1.3.1
把 Core.dll 剩余英文逐项审计后,补上最后 2 条漏译的界面标签。
本版新增
| 原文 | 译文 | 位置 | 消费方(判定依据) |
|---|---|---|---|
offers |
提供 |
Core.dll #US 堆 |
仅 System::Format —— 纯显示 |
-=accepts=- |
-=接受=- |
Core.dll #US 堆 |
System::Format + UnityEngine::LogError —— 纯显示 |
这两条是交易界面的标签。IL 实证(method#1526):
Format("`{0}{1}` `{2}{3}`", "C", arg2, flag ? "A" : "l",
flag ? "offers" : "-=accepts=-")即 offers 与 -=accepts=- 是同一处互斥显示的两个分支。同型串
-= ultra-cool-supporter-only purchasable stuff =- 在更早的补丁里已经译成中文,
说明 -=...=- 确实是给玩家看的标签,这两条属漏网。
本轮的 Core.dll 逐项审计(结论:无更多可译项)
把 Core.dll 里仍是英文的条目全量列出(456 条),按既定判据自动初判并逐条复核:
| 初判 | 条数 | 例子 |
|---|---|---|
| 禁译:网络/协议 API | 少数 | Authorization、Token token=" |
| 禁译:API 路径/文件名 | 多数 | /download.json、/trade/init.json、Explorer.EXE |
| 禁译:证书钉扎数据 | 21 | CN=R3, O=Let's Encrypt, C=US … |
| 禁译:Unity 生命周期消息名 | 若干 | OnFocus、OnLayout、OnShutdown、OnSwitchUser |
| 禁译:格式/颜色/版面模板 | 若干 | `{0}{1}` `{2}{3}`、<color={0}> |
| 禁译:正则/转义 | 若干 | ^Your users: [^(]*( \(\d+ / \d+\))?$ |
| 禁译:玩家输入的命令前缀 | 若干 | trade 、#edit 、create_user |
| 禁译:标识符/脚本名/JSON 载荷 | 多数 | chats.send、gui.bgm、sys.specs、{"input": |
| 可译(本版已处理) | 2 | 上表两条 |
另有 3 条经 IL 复核后仍判禁译:
`LSuccess`\n—— 既被op_Equality比较,又被UnityEngine::Find当 GameObject 名查找ÈusernameÉ—— 是构建提示串的模板占位符(È/É是客户端高亮标记),单处引用,改动风险大于收益function(context, args){...}—— JS 桩代码
结论:Core.dll 已无更多可译的界面文本。
技术说明
沿用等长替换(#US 堆是 UTF-16,槽位以字符数计):
| 串 | 槽位 | 译文 | 余量 |
|---|---|---|---|
offers |
6 | 提供 |
4(空格补齐) |
-=accepts=- |
11 | -=接受=- |
5 |
Core.dll 大小不变(541,184 B),协议串闸门仍 0 命中。
闸门增强
verify_package.py 的「译文落地」检查从 13 条扩到 15 条,并支持逐条指定编码:
- Unity 资产 → UTF-8
Core.dll#US 堆 → UTF-16LE- 对
Core.dll还用精确填充形态判译文(提供是常见词,裸查会假阳性——实测补丁版里提供作为子串命中 7 次)
校验值
| 文件 | SHA256 |
|---|---|
Managed/Core.dll |
FBF8E61D429A6F838C88A6D7933B8D15B431E5722812CD321D4F2068952E8AC4 |
resources.assets |
5B2345F938D02A4289A76518D3DEA8B604CD3EAEDDE870C3BAE8958CDAB2C6D7 |
sharedassets0.assets |
B837895A23225B7A4CEAD9AC477A2328AFD856FC585465E3022F9D26236A15EE |
level0 |
0465927CA0FCFD49519FB331487D0FAEC0653026982E731F430090C982A4695C |
⚠️ 风险声明
hackmud 官方规则禁止修改任何既有文件,并把 client file modification 视为 "custom client",
检测到可能导致封号。使用风险自负。分发的二进制为修改后的游戏文件,版权归 hackmud 开发者所有。
hackmud 简体中文汉化补丁 v1.3.0
hackmud 简体中文汉化补丁 v1.3.0
本轮把 Unity 资产全量扫了一遍,补上剩余 3 处界面文本。
本版新增
| 原文 | 译文 | 所在 | 对象名 |
|---|---|---|---|
ACQUIRING HARDLINE |
接入硬连线中 |
level0 |
GameObject text(CanvasRenderer + RectTransform) |
HARDLINE ENGAGE |
硬连线接通 |
level0 |
GameObject text |
placeholder text |
占位文本 |
sharedassets0.assets |
GameObject label_text(3 处) |
本轮怎么找出来的(以及为什么没漏)
写了个扫描器把 level0 / resources.assets / sharedassets0.assets 里所有 Unity 对象
的全部长度前缀字符串取出来,再用「像不像给玩家看的文本」的规则筛:
- 筛出 143 条候选
- 其中 81 条是引擎/工具内部命名(
Cull Mode、Stencil ID、Font Atlas、digit (1)、
Main Camera、Bevel Clamp…)—— 着色器属性名与物体名,不是给玩家看的 - 其余多是音频片段名(
Incoming Attack Chain、robovac dreamtime、in risk we trust、
Slick Gold、vlan party…)、TMP 内部数据(LineBreaking Leading Characters、
Smiling face with smiling eyes、Default Style Sheet)、字体/材质名 —— 均不显示 - 真候选只有上表 3 条,且都用同一判据确认过
可译判据(同 v1.2.0)
把字面量拿去搜全部托管程序集的 #US 堆(本次扫了 102 个可解析程序集,
含 mscorlib / System.* / 全部 UnityEngine.* 模块 / Unity.TextMeshPro / Core.dll):
ACQUIRING HARDLINE→ 零命中HARDLINE ENGAGE→ 零命中placeholder text→ 零命中
代码若要用这些文本做逻辑,就必须在自己程序集里有同文字面量;零命中 ⇒ 只能是「读字段 → 显示」。
另用 GameObject 名字与组件构成佐证:三个都是带 CanvasRenderer + RectTransform 的 UI 元素
(名字分别是 text / text / label_text)。
技术说明
沿用等长替换(int32 字节长度 + UTF-8,中文多出的字节用尾部空格补齐):
| 文件 | 替换 | 文件大小 | 差异段 |
|---|---|---|---|
level0 |
2 处 | 36,168 B 不变 | 2 段(0x5fd4–0x6193) |
sharedassets0.assets |
3 处 | 1,490,000 B 不变 | 3 段(0x16b26c–0x16baac) |
前两条中文恰好占满原字节预算(18/18、15/15,零填充)。UnityPy 复载正常
(level0 250 对象、sharedassets0.assets 309 对象)。
校验值
| 文件 | SHA256 |
|---|---|
Managed/Core.dll |
04523E88269020BF92A20A05F132BB3FEF6C19F12D6AAE8855BC3437FA4FBF52 |
resources.assets |
5B2345F938D02A4289A76518D3DEA8B604CD3EAEDDE870C3BAE8958CDAB2C6D7 |
sharedassets0.assets |
B837895A23225B7A4CEAD9AC477A2328AFD856FC585465E3022F9D26236A15EE |
level0 |
0465927CA0FCFD49519FB331487D0FAEC0653026982E731F430090C982A4695C |
安装 / 回滚
powershell -ExecutionPolicy Bypass -File install_zh.ps1 install
powershell -ExecutionPolicy Bypass -File install_zh.ps1 rollback已确认为「不可译」,不再重复排查
- 服务器下发的文本:
Top Donors、WHAT'S NEW、last_login、脚本输出等 scratch/chat面板标题:在Core.dll里但被同时当作窗口名/字典键,全文件仅一份副本- 引擎/音频/TMP 内部命名:见上文 143 条候选的分拣结果
- 终端历史回放:
%APPDATA%\hackmud\shell.txt的旧英文记录不是漏译,游戏内clear可清屏
⚠️ 风险声明
hackmud 官方规则禁止修改任何既有文件,并把 client file modification 视为 "custom client",
检测到可能导致封号。使用风险自负。分发的二进制为修改后的游戏文件,版权归 hackmud 开发者所有。
hackmud 简体中文汉化补丁 v1.2.0
hackmud 简体中文汉化补丁 v1.2.0
新增内核自检/修复序列的终端状态串汉化,补丁载荷增至 4 个文件。
本版新增:开机自检与内核修复状态串
游戏在自检/内核异常修复流程中显示的那组终端状态串已中文化:
| 原文 | 译文 |
|---|---|
-running self diagnostics- |
-正在运行自检- |
-kernel error detected- |
-检测到内核错误- |
-attempting fix- |
-尝试修复- |
-fix successful- |
-修复成功- |
-initializing kernel- |
-初始化内核- |
-creating acct- |
-创建账户- |
-crosslinking hardline- |
-交叉连接硬连线- |
-patching terminal- |
-修补终端- |
-complete- |
-完成- |
(打字机动画用的 . / .. / ... 帧原样保留。)
为什么判定「可以译」
这 9 条串不在任何托管程序集里 —— 对 Core.dll 及 Managed/ 下全部 DLL 逐个解析 #US 堆,
零命中。它们只作为数据存在于场景文件 level0(path_id=250 的 MonoBehaviour)。
也就是说,客户端代码没有同文字面量可供比较,不可能拿它们做逻辑判断;它们与已汉化的
-terminal active- → -终端已激活- 属同一类纯显示文本。
技术说明
沿用等长替换:每串是 int32 字节长度 + UTF-8,中文较英文多出的字节用尾部空格补齐到原长度。
- 9 处替换,
level0文件大小不变(36,168 B) - 差异恰好 9 段(0x8c41–0x8d3e)
- UnityPy 仍可正常载入(250 个对象)
载荷变化(共 4 个)
| 文件 | 说明 |
|---|---|
Managed/Core.dll |
256 条文本(同前) |
resources.assets |
中文字体(同前) |
sharedassets0.assets |
开场 13 行打字机动画(v1.1.0 加入) |
level0 |
本版新增:内核自检/修复状态串 |
校验值
| 文件 | SHA256 |
|---|---|
Managed/Core.dll |
04523E88269020BF92A20A05F132BB3FEF6C19F12D6AAE8855BC3437FA4FBF52 |
resources.assets |
5B2345F938D02A4289A76518D3DEA8B604CD3EAEDDE870C3BAE8958CDAB2C6D7 |
sharedassets0.assets |
436939FD6091DB230F84E0632DBD6AF6D231A9A81C125FF74444F270EB4E221E |
level0 |
0B31BD4938643F9084B47AC0E5B91E60A120BC9CC10207F45028E09F1B6FE35C |
安装 / 回滚
powershell -ExecutionPolicy Bypass -File install_zh.ps1 install
powershell -ExecutionPolicy Bypass -File install_zh.ps1 rollback从旧版升级:直接跑
install,脚本会把 4 个文件一并更新并保留原版备份。
仍不在补丁范围内
- 服务器下发的文本(
Top Donors、WHAT'S NEW、last_login、脚本输出等) scratch/chat面板标题:在Core.dll里但被同时当作窗口名/字典键使用,全文件仅一份副本- 终端历史回放:
%APPDATA%\hackmud\shell.txt的旧英文记录不是漏译,游戏内clear可清屏
⚠️ 风险声明
hackmud 官方规则禁止修改任何既有文件,并把 client file modification 视为 "custom client",
检测到可能导致封号。使用风险自负。分发的二进制为修改后的游戏文件,版权归 hackmud 开发者所有。
hackmud 简体中文汉化补丁 v1.1.0
hackmud 简体中文汉化补丁 v1.1.0
新增开场自检文字汉化,补丁载荷从 2 个文件变为 3 个。
本版新增:开场打字机动画中文化
游戏启动时那 13 行自检文字已全部译为中文:
初始化内核... 完成。
处理子系统... 完成。
激活硬连线... 完成。
锁定失效保护... 完成。
激活一次性密钥... 完成。
启动主驱动器... 完成。
启动辅助驱动器... 完成。
创建备份补丁文件... 完成。
初始化半空间入口... 完成。
哈希脚本令牌... 完成。
刷新缓存... 完成。
预热主用户界面... 完成。
加载启动动画... 完成。
技术说明
这段文字不在 Core.dll 里,而在 Unity 资产 sharedassets0.assets 的
Kernel.startup_text 字段(path_id=286 的 MonoBehaviour)。它不是一段文本,而是
18 帧的打字机动画快照——每帧都是整屏的富文本,彼此只差累进的点号与 完成。。
处理方式:等长替换。每帧是独立 Unity 字符串(int32 长度 + UTF-8),中文比英文长的
部分从该帧尾部的填充空格里等量扣除(那些空格本只为版面填充,中文是双宽,扣掉反而更贴合)。
结果:
- 18 帧逐帧字节长度完全不变(如末帧 2170 → 2170)
- 文件总大小不变(1,490,000 B)
- 只有
startup_text那一处被动过(622 处差异全部落在该区间) - 附带一道硬闸门:译完后颜色标签之外不得残留任何 ASCII 字母,否则拒绝写盘
载荷变化
| 文件 | 说明 |
|---|---|
Managed/Core.dll |
同 v1.0.1(256 条文本) |
resources.assets |
同 v1.0.1(中文字体) |
sharedassets0.assets |
本版新增:开场自检文字 |
安装脚本已改为表格驱动($Files 表),新增文件只需加一行;哈希常量由
build_release.py 打包时自动回填,不手改。
校验值
| 文件 | SHA256 |
|---|---|
Managed/Core.dll |
04523E88269020BF92A20A05F132BB3FEF6C19F12D6AAE8855BC3437FA4FBF52 |
resources.assets |
5B2345F938D02A4289A76518D3DEA8B604CD3EAEDDE870C3BAE8958CDAB2C6D7 |
sharedassets0.assets |
436939FD6091DB230F84E0632DBD6AF6D231A9A81C125FF74444F270EB4E221E |
安装 / 回滚
powershell -ExecutionPolicy Bypass -File install_zh.ps1 install
powershell -ExecutionPolicy Bypass -File install_zh.ps1 rollback从 v1.0.x 升级:直接跑
install即可,脚本会把三个文件一并更新并保留原版备份。
仍不在补丁范围内
- 服务器下发的文本:
Top Donors、WHAT'S NEW、last_login、脚本输出等由服务器产生,本地改不到。 scratch/chat面板标题:它们在Core.dll里,但同时被当作窗口名/字典键使用
(全文件只有一份副本),翻译会破坏窗口查找,故保留英文。- 终端历史回放:
%APPDATA%\hackmud\shell.txt会在启动时回放,里面的旧英文记录不属于漏译;
游戏内输入clear即可清屏。
⚠️ 风险声明
hackmud 官方规则禁止修改任何既有文件(Modifying any existing files is not permitted),
并把 client file modification 视为 "custom client",检测到可能导致封号。使用风险自负。
分发的二进制为修改后的游戏文件,版权归 hackmud 开发者所有。
hackmud 简体中文汉化补丁 v1.0.1
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 开发者所有。
hackmud 简体中文汉化补丁 v1.0.0
hackmud 简体中文汉化补丁 v1.0.0
首个公开版本。
内容
- 256 条界面 / 提示 / 帮助文本简体中文化(终端横幅、命令用法、解析错误、参数校验、帮助清单、脚本执行状态词)
- 中文字体注入:把游戏自带的 Liberation Sans 与中文黑体子集合并为单一 TTF,替换字体资产,CJK 字形可正常渲染
- 一键安装 / 回滚 / 校验脚本
install_zh.ps1(自动备份 → 覆盖 → 哈希校验,幂等) - 可自行校验安装包:
verify_package.py检查载荷哈希、脚本内嵌常量、编码与必备文件;
ci_selftest.py是它的反向自检(人为破坏必须被检出) - CI 全绿:每次提交自动跑包完整性、反向自检,以及在 Windows 上的
install → 幂等 install → verify → rollback往返测试
技术要点
文本改动做在 .NET 程序集的 #US(user string)堆里,采用等长替换:中文 + 空格填充到原
UTF-16 长度,因此堆大小、元数据 token、所有偏移全部不变,不会影响其它字符串。
刻意保留英文(不译)
| 保留项 | 原因 |
|---|---|
FULLSEC / MIDSEC / HIGHSEC / LOWSEC / NULLSEC |
服务器端 scripts.lib().security_level_names 权威取值;客户端用其做 JSON 键查询与相等比较;官方沙盒规则里的安全边界 |
命令名 / 脚本名(trade、#help、accts.balance、marks.* …) |
游戏按英文解析输入,服务端校验 |
success(小写 JSON 协议字段名) |
服务器通信协议的一部分 |
校验值
| 文件 | SHA256 |
|---|---|
Managed/Core.dll |
F6CBF53FC177FE8A04E6384D59C474A78D5120DC81B86C54CADF96C176AD9FD0 |
resources.assets |
5B2345F938D02A4289A76518D3DEA8B604CD3EAEDDE870C3BAE8958CDAB2C6D7 |
安装
powershell -ExecutionPolicy Bypass -File install_zh.ps1 install回滚:install_zh.ps1 rollback 校验:install_zh.ps1 verify
已知限制
- 在线内容无法汉化(服务器下发的其他玩家消息、排行、marks 教学输出不经客户端)
- 帮助文本的终端表格对齐基于等宽英文,中文 2 倍宽,部分表格列会偏(仅显示问题)
- 补丁前产生的终端历史记录仍为英文,游戏内输入
clear可清屏
许可
- 原创部分(安装脚本
install_zh.ps1、构建脚本build_release.py、文档)按 MIT 授权,见LICENSE。 - 分发的游戏二进制(
Managed/Core.dll、resources.assets)不在 MIT 范围内,
权利归 hackmud 开发者所有;本补丁不含游戏本体,使用前请自行通过 Steam 购买并安装 hackmud。 - 完整权利归属与免责说明见
NOTICE.md。
⚠️ 风险声明
hackmud 官方规则明确写着 「Modifying any existing files is not permitted」,并把
client file modification 视为 "custom client",检测到可能导致封号。本补丁修改了
Core.dll 与 resources.assets,使用存在封号风险,请自行判断,风险自负。
分发的二进制为修改后的游戏文件,版权归 hackmud 开发者所有;本项目与官方无关,
仅供学习与汉化交流,若权利人要求将立即移除。