关于WinHex汉化exe的求助!

大家好,我之前求助过新手汉化的问题

后了觉得太难放弃了,但这几天想想又不甘心又想继续。

之前用ResourceTuner可以汉化一些简单的界面,但复杂的就不行了。于是看到可以用WinHex修改十六进制的字符串。下载后确实可以,但暂时遇到两个问题,特来求助。
第一个问题如下图:

选择替换的字节数不同,保存后的exe图标是白色,双击也无法启动。后来我想了给笨办法解决,就是用空格去补足不足的字节。这样保存后exe可以正常运行了,也成功汉化。
但我觉得这应该不是正确的操作,少的字符可以敲空白补足,但多的字符怎么办?请问正确该怎么操作!

第二给问题如下图:

之前笨办法可以替换ASCII字符汉化,但遇到UniCode就不行了,同样笨办法替换后中文乱码。

就是以上两个问题求助解决办法,谢谢。

非专业人士,只是稍微接触过一点,抛砖引玉一下:
问题1:明文写在exe里的字符串,替换的时候要注意等长,多余的空位要补齐,你的做法是对的,不过一般是用0来填充。
至于汉化后的字符串更长的情况,运气好的话,程序在此处如果留了多余的“空间”,那么往后多占一点也不会有问题,运气不好的话……我也不会处理,一般来说会比较复杂,应该不是单纯用16进制编辑器就能解决的了。
但是有一个好消息是中文的效率比较高,所以大多数时候可以避免这个问题。
问题2:要注意写入时使用的编码,具体该用什么编码我也不太清楚有什么好方法来判断,总之Unicode、GBK之类的都试试。更近一步,你对常见的编码错误导致的乱码类型熟悉之后,就可以根据修改过后程序里显示的乱码,来判断此处应该使用的编码是什么了。
比较糟糕的情况是程序可能根本不支持显示中文,可能还需要你往程序里添加默认编码、字体之类的行为,同样也是超出单纯的16进制编辑器能做到的范畴。
具体会遇到什么情况取决于你想汉化什么软件,也许并不会遇到我提到的比较复杂的情况,但是如果想深入研究程序汉化,几乎不可避免的要学习反编译相关的知识,这又是一个相当大的坑了。

3 个赞

谢谢回复,问题二,Ascii编码的菜单可以汉化了,并可运行,就是Unicode类的 替换中文就乱码。

你去找 字符串汉化 工具, 也叫做 非标汉化工具

比如 Athena-A

1 个赞

之前研究破解的时候, 如果留的空间不够的话, 那就把程序跳到一个不用的空间去,, 然后再跳回来

1 个赞

汉化非标资源不建议用 WinHex,它对中文支持不好,不支持中文 Unicode 码的替换,建议用 010 Editor。


如果不愿意用商用软件,而且要汉化的程序不是很大的话,我更建议用开源软件 MadEdit 来汉化,它虽然是个文本编辑器,但是它有一个十六进制编辑器(热键 ALT + 3),而且作者是个国人,因此对中文编码支持的相当好,算是十六进制编辑器中最好用的。

2 个赞

谢谢

试试 Resources Hacker