Skip to content

595554963github/Localization-Assistant-Editor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Localization-Assistant-Editor

一个字符串、字节替换脚本,可以用来汉化很多的exe、dll等PE文件

00 空字节终止符,也可用于内存填充,如果没有必要尽量不要使用它填充字节,可以用它消除文本间的空格 20 空格 主要用于分割文本,也可用于填充字节 0A 换行符 垂直移动光标到下一行,不可打印字符,所以无法搜索ASCII,替换字节汉化程序的罪魁祸首之一。 0D 回车符 水平移动光标到行首,不可打印字符,所以无法搜索ASCII,替换字节汉化程序的罪魁祸首之一。 09 制表符 不可打印字符,所以无法搜索ASCII,替换字节汉化程序的罪魁祸首之一。

FF 内存填充 汉化程序几乎用不着,没必要别用它

& 指定快捷键 替换字节汉化程序的罪魁祸首之一,该符号会随机穿插在按钮里面,比如File可能写出F&ile或者&File

因此本来你以为能搜到的文本根本搜不到 %s或%d 占位符 替换字节汉化程序的罪魁祸首之一,该符号用于代指某些文本,因此本来你以为能搜到的文本根本搜不到。汉化时遇到换行符和回车符的解决方法:

替换为空格,这样就可以框选一大段文本一起翻译了。冷知识:如果觉得使用我的汉化辅助编辑器替换字节汉化不方便,可以考虑下载个DetectItEasy查壳工具配套使用,用它查找字符串,

然后复制字符串到汉化辅助编辑器的输入框里,一搜一个准,注意字符串的编码格式,U代表Unicode,A代表ANSI,ANSI用UTF-8或者GBK编码查找,Unicode使用UTF-16小端序编码查找, Unicode就是点分割的字符串,比如File会显示为F.i.l.e.,ANSI就和咱们场景的英文字符差不多,很多程序里会同时存在两种编码的字符串,因此汉化的时候需要去判断, 通过00来判断该文本是不是你要汉化的文本,比方说This program cannot be run in DOS mode.你看这句话前面和后面是不是00,如果是,那就代表它是一句独立的语句,可以汉化, 否则如果是20,或者其他的字节,那就不能汉化,强行汉化可能会导致一半英文一半中文,或者出现空格间隔,文本排列变难看。

如果可执行程序或者dll文件被加壳了,替换字节可能会失效,有些壳会保护资源防止被修改,需要先脱壳再汉化,本地化工具汉化程序虽然省事,但不是什么程序都可以拿来汉化, 有些程序根本不显示菜单、对话框、字串表,或者无法反编译,这时候使用字节替换的方式去汉化程序也是一件不可思议的事。

运行pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple把清华大学镜像源设置为默认源

tkinter版本运行pip install tkinterdnd2

Qt版本运行pip install PySide6 pyhexedit

About

一个字符串、字节替换脚本,可以用来汉化很多的exe、dll等PE文件

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages