关于WinHex汉化exe的求助!
本帖最后由 MyACG 于 2024-4-14 20:17 编辑我是一名新手小白,最近在学习汉化,之前用ResourceTuner可以汉化一些简单的界面,但复杂的就不行了。于是上论坛学习看到可以用WinHex修改十六进制的字符串。下载后确实可以,但暂时遇到两个问题,特来求助。
第一个问题如下图:
选择替换的字节数不同,保存后的exe图标是白色,双击也无法启动。后来我想了给笨办法解决,就是用空格去补足不足的字节。这样保存后exe可以正常运行了,也成功汉化。
但我觉得这应该不是正确的操作,少的字符可以敲空白补足,但多的字符怎么办?请问正确该怎么操作!
第二给问题如下图:
之前笨办法可以替换ASCII字符汉化,但遇到UniCode就不行了,同样笨办法替换后中文乱码。
就是以上两个问题求助解决办法,谢谢。 第一个问题:用 winhex 汉化,你的操作可以说是正确的,当替换的字符串比原字符串短时,应该用 00 补充,00是字符串结束标识,用空格有时会出现字符串显示时有空位,当替换的字符串比原字符串长时,是比较麻烦的,要找一段长度合适的空间,再从原位置跳转过去。
第二个问题:UniCode 操作也是一样的,你这失败是因为这个程序是 ASCII 的,也就是本地化编码,你用UniCode码改,当然乱码。最后说下,汉化一般用汉化工具,因为大部份程序都是资源和代码是分离的,用汉化工具高效,但也用程序资源和代码混在一起,这时汉化工具就没用了,
这时,最后手段就是最原始的 用 winhex 汉化,改字节码。 1、首选资源编辑器虚修改资源;
建议使用 Sisulizer 4
2、资源里没有的字符串,不需要调整长度(补零)的可考虑使用 TransText;
需要调整长度的,例如 4 字节写入 6 字节的时候,建议使用 Athena-A;
3、中字编码需要了解软件使用哪种编码写入,个别软件需要设置中字字体才能显示文字。
汉化不是简单的事!需要经验累积,慢慢学吧! 试试pexplorer
汉化工具没有用对! 汉化比原文长的话需要偏移 用本地化工具 楼上有大神解答,同步学习了,感谢! 第一个如果用winhex之类的修改,要保持字符相等,想不相等的话得用od找个空白地方写入,然后修改读取等
第二个如果坚持用winhex的话,下个工具,字符转uncode,然后修改那个16进制码即可 用winhex也太简单粗暴了吧