如何为十六进制编辑创建合适的日语 .tbl 文件?

逆向工程 十六进制 修补 二进制编辑
2021-06-18 12:23:44

我正在尝试使用 Resource Hacker 编辑日语配置可执行文件,我只想将 UI 内容翻译成英语。还有一些英文文本我能够找到并成功编辑。

我的问题是在十六进制编辑器可以正确显示汉字之前,我需要一个表格 (.tbl)。

谷歌只会让我翻译日语 NES 游戏,这不适用于我正在尝试做的事情。

此外,即使我已经安装了日语语言包,我也尝试编辑 .exe 文件 UI 上的日语字符 - 在正确显示字符之前,我仍然需要将区域 > 格式设置为日本。

我真的希望有人能帮我解决这个问题。:-/

1个回答

Windows 可执行文件可以包含以下两种格式之一的文本:

  1. 界面资源。它们以特殊格式存储在 .rsrc 部分,包括字符串、菜单、对话框和其他一些内容。其中的文本通常以 Unicode (UTF-16) 编码存在。资源可以通过资源编辑器等工具进行反编译和编辑,并且可以轻松替换,通常不会影响应用程序的功能。

  2. 硬编码字符串。不幸的是,许多开发人员没有考虑或关心本地化,而是将各种文本字符串直接放入代码中。这些最终出现在二进制文件.text.rdata部分,并由开发人员使用的任何代码页中的字节序列表示(在日语的情况下,通常是 Shift-JIS)。要翻译这些字符串,有必要在二进制文件中找到它们,然后就地修补它们(如果可以在不耗尽空间的情况下完成),或者(尤其是在没有足够空间的情况下)将翻译后的文本放在其他地方(例如在新部分或现有部分的空闲空间中)并修复指向原始字符串的所有指令和指针。