简介:Restorator 2007 Build 1747 汉化版是一款面向软件汉化爱好者与界面定制人员的资源编辑工具,适合需要修改程序界面文字、图标或对话框的初中级用户。它采用类似档案总管的操作界面,支持将资源文件直接拖曳进编辑窗口,修改后以拖曳方式替换原资源并回存,可编辑功能表、对话框、字串、游标、图示、点阵图等类型,也能将资源汇出为 RC、RES 格式,便于二次加工与备份。压缩包共 3 个文件,以 2 个 exe 主程序与更新程序为主,另附 1 个 html 说明文档,整体约 3.74MB,体积轻巧、解压即用。安装后每次运行目录下的 crk_Restorator.exe 即可启动。目前已有 288 人学习下载,适合想快速上手资源替换、界面中文化与图标修改的读者参考使用。
1. Restorator 2007 Build 1747 汉化版:老工具为什么还在被反复翻出来用
如果你手头有一个十年前的 Windows 桌面程序,界面全是英文,菜单里还夹着几个看不懂的德语词,而它偏偏没有源码、没有资源工程文件,你大概率会被人推荐同一个名字:Restorator 2007 Build 1747 汉化版。这不是什么新工具,Build 1747 是它 2007 年前后的一个经典版本号,汉化版则是在原版基础上把界面语言、对话框、字符串表替换成中文的流通版本。它干的事情很朴素——把 PE 文件里的资源段拆开,让你直接看、直接改、直接存回去。菜单、对话框、图标、位图、字符串表、版本信息,全在里面。
放到今天,做软件汉化的人其实分流了:一派用 Resource Hacker,一派用 Restorator,还有一派直接上 ghidra 汉化版这类逆向平台去啃逻辑层。但只要你只是想把一个老程序的界面文字换成中文,Restorator 2007 的资源树视图和所见即所得的对话框编辑器,仍然是最省事的那条路。这篇笔记面向两类人:一类是第一次接触汉化、想拿一个小工具练手的新手;另一类是手里攒了一堆老软件、想批量处理界面资源的老手。下面从资源结构讲到具体改法,再到翻车现场,尽量把每一步都落到能复现的程度。
2. Restorator 2007 的资源视图与汉化对象拆解
2.1 PE 资源段里到底有什么,汉化改的是哪几类
一个 Windows 可执行文件(.exe 或 .dll)内部按 PE 格式组织,资源(Resource)是其中一个标准节区,通常叫.rsrc。Restorator 打开文件后左侧那棵树,就是按资源类型分组的。汉化真正会动到的,主要是这几类:
| 资源类型 | 典型内容 | 汉化是否必改 | 备注 |
|---|---|---|---|
| String Table | 菜单项、提示、错误信息 | 必改 | 按 ID 分组,量最大 |
| Dialog | 对话框布局与控件文字 | 必改 | 改文字时别动控件坐标 |
| Menu | 主菜单、右键菜单 | 必改 | 与 String Table 可能重复 |
| Version | 版本信息、公司名 | 选改 | 不影响功能 |
| Icon / Bitmap | 图标、位图 | 选改 | 含文字的图片要重绘 |
| RCData / Manifest | 内嵌配置、清单 | 慎改 | 改错直接启动失败 |
关键认知是:汉化不是翻译整个程序,而是替换资源段里的可见文本。程序逻辑里硬编码拼接出来的字符串,资源段里根本找不到,这类只能靠逆向改代码,Restorator 无能为力。所以拿到一个目标程序,第一步不是急着改,而是先判断它的界面文字有多少比例来自资源段。
2.2 用 Restorator 2007 打开目标文件并做资源盘点
打开 Restorator 2007 汉化版,界面本身已经是中文的,菜单栏是「文件 / 编辑 / 资源 / 查看」这一套。操作顺序如下:
- 「文件」→「打开」,选中目标 exe。如果程序带壳,Restorator 会提示无法解析资源,这时候要先脱壳,别硬来。
- 左侧资源树展开,逐类点开。先看 String Table,再看 Dialog,最后看 Menu。
- 对每一类,右键可以「导出」成
.rc或.res文件,方便外部编辑和备份。
# 备份永远放在第一步,改之前先复制一份原始文件 copy target.exe target.exe.bak # 如果目标程序依赖同目录的 dll,把整个目录一起备份 xcopy /E /I app_folder app_folder_backup上面这两条命令看着简单,但血泪经验是:很多人改到一半发现程序起不来,回头想还原,结果原始文件已经被覆盖。备份要连整个程序目录一起做,因为有些程序的资源分散在主 exe 和若干 dll 里,只备份 exe 不够。参数上/E表示包含空目录,/I表示目标按目录处理,这两个在批量备份时能省掉手动建目录的麻烦。
盘点阶段还要注意一点:Restorator 的资源树里,同一个字符串可能在 String Table 和 Dialog 里各出现一次。比如一个按钮,它的显示文字既可能写在 Dialog 模板里,也可能通过 String Table 的 ID 引用。改的时候要两边都查,否则会出现「改了没生效」的玄学现象。
2.3 字符串表与对话框的编辑入口在哪
String Table 在 Restorator 里是按块(Block)组织的,每个块里是一组 ID 和对应文本。双击某一行就能直接编辑右侧的文本内容。这里有个细节:字符串表里的文本经常带格式化占位符,比如%s、%d、%1,这些是程序运行时动态填充的,翻译时必须原样保留,位置可以调整,但符号本身不能删。
Dialog 资源的编辑是 Restorator 的强项。双击一个 Dialog,右侧会出现可视化布局,控件可以拖动、改属性。改文字时选中控件,在属性面板里改 Caption 字段即可。注意不要为了「对齐好看」去改控件的坐标和尺寸,因为不同语言的文字长度不一样,你改了坐标,在原始语言下可能就错位了。稳妥做法是只改文字,布局问题留给程序自己的自适应逻辑。
Menu 资源的编辑和 Dialog 类似,逐项改文字。改完一类资源后,用「文件」→「保存」写回原文件。Restorator 默认是原地保存,所以前面强调的备份不是可选项,是必选项。
3. 从英文到中文:Restorator 2007 汉化的完整操作链
3.1 单文件汉化的最小可复现流程
拿一个只有主 exe、没有额外 dll 的小工具做例子,完整流程如下:
1. 备份 target.exe -> target.exe.bak 2. Restorator 打开 target.exe 3. 展开 String Table,逐块翻译可见文本 4. 展开 Dialog,逐个改 Caption 5. 展开 Menu,逐项改文字 6. 文件 -> 保存 7. 关闭 Restorator,运行 target.exe 验证 8. 若启动失败,用 target.exe.bak 还原,回到第 3 步排查这个流程里,第 3 到第 5 步的顺序有讲究。先改 String Table,因为很多 Dialog 和 Menu 的文字是引用字符串表的,先改底层,上层可能自动跟着变。如果反过来先改 Dialog,再改 String Table,可能出现重复劳动或者覆盖冲突。第 7 步验证时,重点看三件事:程序能不能启动、菜单能不能展开、对话框文字有没有乱码。乱码通常是编码问题,后面避坑章节会展开。
3.2 批量处理多个文件时的资源导出与回写
当一个程序由主 exe 加多个 dll 组成时,逐个用界面点效率太低。Restorator 支持命令行调用,可以把资源导出成.res文件,外部处理后再回写。常见做法是:
# 导出资源到 res 文件(路径按实际安装位置调整) Restorator.exe /extract target.dll target.res # 处理完 res 后回写 Restorator.exe /replace target.dll target.res需要说明的是,不同汉化版对命令行参数的支持不完全一致,/extract和/replace是社区里流传较广的写法,实际用之前先用一个小文件试一次,确认你的这个 Build 1747 汉化版认这两个参数。如果不认,就退回界面操作,或者用 Resource Hacker 的命令行做导出、Restorator 做可视化编辑,两者配合。参数含义上,第一个路径是目标 PE 文件,第二个是资源文件路径,顺序不能颠倒。
批量场景下还有一个效率技巧:把多个 dll 的 String Table 导出后,用文本工具统一替换高频词,再回写。但要注意,不同 dll 里的字符串 ID 可能重复,统一替换时别把不该改的也改了。稳妥做法是每个文件单独处理,导出的 res 文件按文件名归档,避免混淆。
3.3 汉化后的验证:功能、编码与回退三件事
改完保存只是开始,验证才是决定这次汉化成不成的关键。验证分三层:
第一层是启动验证。双击运行,看程序是否正常起来。如果闪退,大概率是某个资源被改坏了,比如 Dialog 模板的二进制结构被破坏。这时候用备份还原,然后缩小范围,一次只改一类资源,定位是哪一类出的问题。
第二层是编码验证。中文在资源里通常以 UTF-16LE 存储,Restorator 一般会自动处理编码转换。但如果你从外部粘贴文本,或者用了不支持 Unicode 的旧版本,可能出现乱码。判断方法很简单:打开对话框,看中文是正常显示还是变成问号或方块。乱码的话,检查 Restorator 的编码设置,或者改用 Unicode 模式重新输入。
第三层是回退验证。故意用备份还原一次,确认备份文件本身是好的。这一步很多人跳过,结果真出问题时发现备份也是坏的,后悔药都没得吃。回退验证做完,整个汉化流程才算闭环。
4. Restorator 2007 汉化避坑:五类翻车现场与排查
4.1 改完保存后程序无法启动
现象:保存资源后,双击 exe 没有任何反应,或者弹出「不是有效的 Win32 应用程序」。
原因:最常见的是 Dialog 或 Menu 资源的二进制结构被破坏。Restorator 的可视化编辑偶尔会在控件属性里写入非法值,导致 PE 资源段校验失败。另一种可能是程序带壳,资源段被压缩过,直接改会破坏壳的校验。
解决:先用备份还原,确认原始文件能跑。然后一次只改一类资源,改完就保存测试,定位到具体是哪一类出的问题。如果是带壳程序,先脱壳再汉化,别在壳上直接动刀。
4.2 中文显示成问号或方块
现象:程序能启动,但界面上的中文全是???或者空心方块。
原因:编码不匹配。资源里的字符串如果按 ANSI 存储,而系统区域设置不支持中文,就会显示异常。或者 Restorator 保存时用了错误的代码页。
解决:确认 Restorator 的编码选项设为 Unicode 或 UTF-16。如果程序本身是老式 ANSI 程序,考虑用 GBK 编码写入,而不是 UTF-16。判断方法:看原始资源里英文字符串的存储方式,跟着它的编码走,别自作主张换编码。
4.3 改了字符串表但界面没变化
现象:String Table 里明明改了,运行程序还是显示英文。
原因:该文字不是从 String Table 读取的,而是硬编码在代码里,或者从 Dialog/Menu 模板直接读取。也可能程序有多个语言资源,你改的那个不是当前加载的。
解决:在 Dialog 和 Menu 里搜同样的文字,看是否重复存在。如果资源树里有多个语言分支(比如 EN 和 DE),确认程序实际加载的是哪一个,改对分支。如果资源里根本找不到,那就是硬编码,Restorator 解决不了,需要逆向工具介入。
4.4 对话框控件错位或文字被截断
现象:中文比英文长,按钮上的文字显示不全,或者控件挤在一起。
原因:原始布局是按英文长度设计的,中文翻译后文字变长,超出控件宽度。
解决:优先不改坐标,先尝试缩短译文,用更简洁的中文表达。如果实在放不下,再微调控件宽度,但改完要在原始语言下也测一遍,确保没有把英文布局搞坏。批量处理时,把这类需要调布局的对话框单独列出来,最后统一处理。
4.5 杀毒软件报毒或文件被拦截
现象:保存后的 exe 被杀毒软件直接删除或隔离。
原因:修改 PE 资源段会改变文件哈希,某些启发式引擎会把「资源被修改的可执行文件」标记为可疑。这不是文件真的有毒,但会被误伤。
解决:把工作目录加入杀毒软件白名单,或者在断网环境下做汉化。保存后如果被拦截,从隔离区恢复并加白。分发汉化版时,附上说明,让使用者自行判断,别把问题藏起来。
5. 让 Restorator 2007 汉化更稳的两个进阶习惯
第一个习惯是先做资源映射表再动手。拿到一个目标程序,别急着改,先用 Restorator 把 String Table、Dialog、Menu 三类资源各导出成文本,做一张对照表:原始英文、拟用中文、所在资源类型、资源 ID。这张表看起来费事,但改的时候有据可依,改完也能按表逐条核对。我一般会把这张表存成 CSV,批量替换时直接拿它做脚本输入,比在界面里一条条点快得多。
第二个习惯是保留中间产物。每次保存前,把当前的.res导出文件按版本号归档,比如target_v1.res、target_v2.res。这样即使某一版改坏了,也能回到上一版继续,而不是从原始文件重来。配合前面的备份,等于有了两层后悔药。归档目录建议和程序目录分开,避免误删。
验证汉化质量时,除了看界面,还可以用一个笨办法:把程序的所有菜单和对话框都点一遍,记录哪些地方还是英文、哪些地方乱码、哪些地方文字截断。这份记录就是下一轮修改的清单。老手和新手的差别,往往不在改得多快,而在验证得多细。
我自己做汉化这些年,最大的教训是:别在没备份的情况下动第一个字节。有一次改一个老工具,觉得就改几个字符串不会出事,结果保存后程序直接起不来,原始文件又被覆盖,最后只能去网上重新找安装包。从那以后,不管多小的改动,备份和归档都是肌肉记忆。希望帮到你。
本文还有配套的精品资源,点击获取