对frida/luma官方仓库进行的翻译工作,目前仅支持简体中文
为 Luma(Swift + GTK4 的 Frida 动态分析 GUI 工具)提供一键中文界面替换。
| 版本 | 条目 | 翻译率 | 状态 |
|---|---|---|---|
| v2 | 191 | - | 废弃 -- 错误替换 .text 段, 程序打不开 |
| v3 | - | - | 未完成 |
| v4 | 215 | - | 翻译太少, 大量菜单缺失 |
| v5 | 282 | 240/240 | 可用 -- 短词前缀截断 bug, 部分 UI 遗漏 |
| v5.1 | 288 | 当前最新 -- 修复前缀截断, 补全遗漏字符串 |
脚本仅修改 PE 文件中的 .rdata / .data 段, 不碰 .text 段(代码段)。以下核心功能完全不受影响:
- Frida 挂钩注入和脚本执行
- 内存读写、反汇编
- 进程附加/恢复/跟踪 (ITrace)
- Hook 搜索和管理
- CodeShare、Hookpack 导入导出
- MCP 服务器配置
- Agentic Mission 多步推理
修改的只是 GTK 控件渲染时读取的显示文本常量, 与程序逻辑完全隔离。
SAFE (安全替换): 英文 >= 10 字节或足够独特的字符串。全量精确匹配, 不检查边界。
"Open Project..." -> "打开项目..."
"Show Event Stream" -> "显示事件流"
"Welcome to Luma" -> "Luma 欢迎您"
...
GUARDED (受保护替换): 英文 < 10 字节或高频短词。需三重保护:
- PE 区段过滤 -- 仅在
.rdata/.data范围内操作 - 边界检查 (前) -- 前面不能是字母/数字/下划线, 防止匹配
GtkNotebook、MissionsView等 Swift 类型名 - 边界检查 (后) -- 后面必须是
\0, 防止Save截断Save changes to
中文字符必须 <= 原始英文字符的 UTF-8 字节数, 不足部分用 \x00 填充。
"Save" (4B) -> "存\0" (3B + 1 填充)
"Cancel" (6B) -> "取消" (6B)
- Windows 系统
- 已安装 Luma (默认路径
C:\Program Files\Luma) - 管理员权限 (写入
Program Files需要)
以管理员身份打开 PowerShell, 执行:
python "C:\workbuddy\2026-08-05-16-11-35\patch_luma_v5.py"| 文件 | 说明 |
|---|---|
Luma.exe |
原版, 不动 |
Luma.exe.original |
首次运行时自动备份 |
Luma_zh.exe |
汉化版主程序 |
桌面\Luma (汉化版).lnk |
快捷方式 |
直接运行 Luma.exe (原版) 即可, 两个版本共存不冲突。
- 运行时动态拼接的字符串无法翻译 -- 例如
New Project、Open Recent由 Swift 字符串插值生成, 二进制中无完整字面量 - 字节过长截断 -- 约 19 条翻译因中文超过英文长度而改用更短措辞
patch_luma_v5.py # 补丁脚本
README.md # 本文件