2008年2月19日星期二

修改可执行文件状态栏上的汉字

有的文字是以资源的形式存在的,可以用exescope等软件打开修改,有的加壳的可能需要脱壳。
 
有的状态栏中的文字并不一定是以资源的形式保存在EXE文件中的。它可能是以全局静态变量的形式存储的。这样的直接用记事本打开查找替换文字即可。但需注意文字的字节数要要一致,一般汉字是以区位码方式存储的,占用两个字节,其他是以ascii码方式存储的,占用一个字节。(windows系统中字符的编码是这样的,一般的可执行文件,记事本等本地字符使用两个字节表示,标准的ascii码还是用一个字符表示,在区域选项中可以改变本地字符集,例如改为日文的,法文的等等,这样记事本里的汉字就会乱码,变为其他字符集的。而有的是以unicode存储的,这样每个字符是使用4个字节存储,可包含所有的字符。)
 
当然,你也可以打补丁。使用Win32 API中的FindWindowEx()函数。找到状态栏的句柄,然后使用SetWindowText()来改变上面的文字。
 
2008-02-16

于士友

没有评论: