始终对自己很不满意。鉴于此,本人在前几天分析的基础上,根据 PexResCrypt 资源解密的结果与 OD 动态调试分析解密模块导出比较,发现问题:
PE Explorer 1.99 r6 无论用 PexResCrypt 解密的资源还是通过 OD 调试分析导出的解密后的资源,大概比对了一下,好像几乎都是一样的。而且发现将解密后的资源替换后并进行本地化工作时,出现程序无法运行作怪的地方就是 RCDATA 中的下面几个窗体:
TXFORM、TMAINFORM、TSPFORM、TFRDFMEDITOR、TRESEDITFORM。
经过进一步研究发现:上面这几个 DFM 用 Restorator 或 ResScope 查看,这几个在窗体定义的末尾前都有如下的语句:
object HTDataHolder1: THTDataHolder
DataLevel = 1
StorageEnabled = True
Left = 719
Top = 456
DataStorage = Null
end
此语句后就再无其它控件定义语句了。
导出这些窗体用十六进制编辑器(比如:winhex)查看,查找 DataStorage,发现后面还有很多数据,我就觉得奇怪,怎么在 Restorator 或 ResScope 中查看时 DataStorage= 后结束了,应该还有窗体定义语句,在 winhex 编辑器中将
object HTDataHolder1: THTDataHolder
DataLevel = 1
StorageEnabled = True
Left = 719
Top = 456
DataStorage = Null
end
对应的十六进制代码删除保存(如果自己DIY,千万别删错地方了,否则……)再导入,然后本地化,怎么没有问题了,完全可汉化了,嘿嘿!
忙乎了一天的时间汉化测试,使用的工具是已在win32 平台停止开发 Language Localizator,为什么用它,主要就是支持字典功能以及 DFM 的可视化看中了它,遗憾的是本软件不知怎么回事,经常生成的本地化后的可执行文件无效,但用生成的语言文件来运行没问题,用俄罗斯出品的Radialix 2 也试过,还是生成本地化后的可执行文件时出错,无法最终生成。用 ResScope 本地化倒一点问题都没有,但用它本地化太烦人了,本来它不属于本地化工具,只属于 PE 资源编辑工具而已。
初衷是通过本地化标准资源后准备进一步本地化非标资源,无奈这个愿望未能实现。我不想用 PE 编辑工具逐个汉化了,太累人了。
特别说明:如果你想仅仅使用标准资源本地化版的话,安装完 PE Explorer 1.99 原版货绿色破解版(网上有)后,将完美解密完美解密可本地化资源版压缩包中的 Pexplorer.exe 以及授权文件(2个)复制到安装文件夹下覆盖同名文件,同时将本地化资源文件也一并复制到安装文件夹下,这样所有标准资源就以本地化后的字串显示了。
此 PE Explorer 1.99 R6 之前已自己解资源
翻译完成(繁体系统)
但 唯独 此句 非标资源找不出 (R5 版本解密后可找到)
关闭反汇编视窗的提示对话框字串
Do you want to save the disassembly and
all your changes to continue on later?