如何修改一个可执行文件?(300分)

  • 主题发起人 主题发起人 笨笨鹰
  • 开始时间 开始时间

笨笨鹰

Unregistered / Unconfirmed
GUEST, unregistred user!
最好个个例子。象汉化软件,我知道是修改资源文件,但是具体怎么修改就不清楚了,谁
给点代码?

还有比如有个可执行文件,里面有个按钮,我想把按钮不可用该怎么做?
 
16进制编辑器//
查找
修改

把按钮不可用
写一个hook 调用api
我曾经把不可用的按钮改为可用

 
16进制编辑器//

我是说用delphi

hook?
我先找点东西看看
 
[注:本文为《电脑报》约稿作品之原稿,全文登载《电脑报》2002年5月6日B1~B6版,未经相关允许请勿转载。]

软件汉化,自己做!

特约作者:水 手



(题注:本文专为初学汉化的朋友所写。什么?您已经是汉化/编程高手?赶快去看本报的其它版面,呵呵。)



第一篇:大话软件汉化

“汉化”,港台地区叫“中文化”,它源自英文“Localize”或“Localization”,意即“本地化”。 简单地说,将一个外文版(绝大部分是英文版)软件改写成中文版,就叫做“软件汉化”。说得“专业”一点,它是指通过一系列本地化的技术处理,对软件的某一部分(主要针对界面语言)进行某种程度的加工,使其操作界面(如菜单、对话框、提示、帮助等)变成中文(程序内核和功能保持不变),从而满足特定市场上的用户对语言和功能的特殊要求。它涉及语言文字的翻译及相应的用户界面布局调整、本地特性开发、联机文档的制作,以及保证程序的本地化版本能正常工作的软件质量保证活动等方面。

目前在浩瀚的软件海洋中,英文软件数量绝对居冠,而真正发布中文版的软件几乎寥若晨星。作为一个中国人,每天面对那来自另一个国度的洋文,无论您的外语水平有多高,总不如自己的母语来得亲切吧!因此,软件汉化的意义不言自明。这里要说明一下软件汉化牵涉的版权问题。任何软件程序的版权归原创作者所有,汉化的目的应该是用于学习、研究和方便自己使用,或对软件作无商业意图的推广。如果您要用于任何商业目的,肯定会带来法律纠纷。看看软件《许可协议》中的条款“该计算机程序受版权法和国际条约保护。如未经授权而……将受到严厉的刑事及民事制裁,并将在法律许可范围内受到最大可能的起诉。”呵呵,严重吧。不过,只要在版权的约束之下,是没有任何问题的。相反,软件汉化可以促进我国计算机用户对国外优秀软件的了解和认识,既提高了我们的工作效率,又对全世界的优秀软件进行了免费推广,应该大力提倡才是!

怎么样?跃跃欲试了吧!在“砍柴”之前,当然先要好好磨磨刀啦——我们该有哪些准备工作呢?笔者认为,首先,必须对我们的本地语言有着深厚的感情(废话,这还要说!),最好有较好的文字基础和一定的英文水平(呵呵,英文不要好过头呵,否则的话就不会需要汉化啦!);其次,熟悉电脑操作,但并不需要高深的编程基础(利用编程手段对软件进行过度的反编译,反而会有侵权之嫌)。多看看网上汉化前辈们写的心得文章,留心研究一下同行们的汉化作品,最主要的是自己行动起来,选定一两个软件目标,实实在在地开始自己的汉化之旅。闲话少说,跟我来,动手吧!



第二篇:软件汉化基础

一、软件资源结构

就象外科大夫首先要了解人体结构一样,在进行实际汉化工作之前,我们首先要弄清楚一个软件程序的基本结构。为了解剖结构的需要,首先让我们来熟悉一下第一把“手术刀”——eXeScope。

eXeScope 目前最新版为 v6.32,有汉化版本。执行eXeScope.exe打开某程序后的的界面如下(图一):


(图一)



eXeScope具备界面语言即时修改、对话框手动调整、资源导入导出(图标、位图、字串、菜单项等)、宏定义等等的强大功能,堪称当前资源修改的首席工具。目前市场上的软件主要用VC、BC及VB、Delphi等工具编写,从汉化的角度出发,按照资源数据的分布特点,大致可分为“资源分离型”及“资源混杂型”(注:此分类纯属个人观点,仅为方便讨论汉化),下面我们简单介绍一下这两种类型的资源特征:

1、“资源分离型”软件。以C类语言VC++、BC++等编译,其资源(Resource)一般包含“位图(Bitmap)”、“菜单(Menu)”、“对话框(Dialog)”、“字串(String)”以及小部分“RC数据(RCData)”等,而且几类资源间相对独立。一般地,其界面表现的语言资源大部分包含在主执行文件“*.exe”或链接库文件“*.dll”的“菜单”、“对话框”和“字串”三部分中,汉化时,我们只要将其中可修改的其他语种翻译修改成中文即可。这一类型软件的汉化技术目前已比较成熟,其修改过程一般能实现“所见即所得”。其代表软件有 Winamp、ACDSee、WinZip等。我们看看以eXeScope打开此类型程序winamp.exe“对话框(Dialog)”资源的情况(图二):


(图二)



2、“资源混杂型”软件。多以Delphi编译,通常将窗体、菜单包括界面语言等可修改的资源未作分离而全部混杂在主执行文件“*.exe”或链接库文件“*.dll”的“RC数据(RCData)”项中,这样就对程序的本地化工作带来了极大的不便,汉化难度相对较大。目前,此类软件的本地化技术还不够成熟(当然,也不是完全没办法),尚未能实现“所见即所得”的工作环境。看看以eXeScope打开此类型程序“RC数据(RCData)”资源的情况(图三):


(图三)



另外还有相当部分的软件(包括以VB编译的程序),其资源数据形态的信息分配相对无序,或将部分资源转移附加在其它数据文件中,甚至一些程序还进行了加壳或压缩处理,使我们用一般工具很难看到资源所在,为以修改资源为手段的本地化工作带来了种种困难,这些软件程序一般要根据其个别特点进行特别的技术处理,或采用十分繁杂的方式,才能进行资源修改工作,我们在这里暂且不作深入讨论。

就常规的软件程序说来,软件的资源(界面语言等)部分与内核部分相对独立。为了最大程度地保持软件原貌,同时也是为了尊重软件原作者的劳动和程序版权,我们在汉化过程中不应(也不必要)对软件的内核作修改。

二、常见汉化手段

1、即时界面汉化。如果您根本不想亲自操刀修改程序,仅只是为了能够使用到中文界面的软件,那么其实您并不需要了解本文所介绍的一些知识。您可以用如下两种方式获得英文软件的中文界面:第一种方式是采用“东方快车”、“金山快译”等即时翻译软件将英文界面转换成中文界面。这种方式不会对软件作任何修改,而且可以随时转换回原来的英文界面。当然,由于智能翻译的准确性限制,其翻译的效果只能说差强人意,有时甚至出现啼笑皆非的译文,如一般会将“Auto”(软件程序中一般为“自动”之意)翻译成“汽车”等等。其使用简单,也不是本文的目的,在这里就不展开说明;第二种方式是安装现成的汉化包进行汉化。您只要到汉化或软件网站以及杂志光盘中找到汉化人士早已为您准备的与外文软件所对应的汉化包即可。汉化包的使用方法很简单,它一般是一个可执行文件。在安装了软件的英文(或其它语种)版后,先确认在系统中完全退出该应用程序,然后执行汉化文件,完成后再启动应用程序时,出现的就是亲切的中文界面了。不过某些汉化包在安装过程中有一些特殊的要求,您只要阅读一下汉化包附带的说明文本,并按照其提示操作即可。

2、资源永久汉化。这是本文要着重介绍的内容,也就是广大汉化人士所说的“汉化”了。对软件程序的界面语言作适度修改后,就可使软件程序成为永久的“中文版”软件。其一般步骤如下:

第一步、判断类型。先了解将要进行工作的对象,做到有的放矢,心中有数。方法:首先用eXeScope打开看看就略知一二。详细地,我们可以利用 FileInfo 等软件更准确地判断软件的类型。FileInfo的使用相当简单,就笔者经验,用拖曳方式最为快捷。先在Windows中启动MS-DOS方式,然后将FileInfo的主执行文件拖到MS-DOS界面,键入空格,再将要检测的文件也拖到MS-DOS界面,回车即OK!FileInfo 立即报告出该文件的类型,甚至还能指出所采用的编译工具及加壳类型等信息。“图四”是FileInfo 检测到的可执行文件 Winamp.exe(版本:2.79)的有关信息:


(图四)



从这里我们可以看出,该程序是使用 MS VC++ 6.0 编译。

第二步、选定工具。根据上面的判断结果,选用合适的资源修改工具(工具介绍请看本文下一篇)。由于不同程序与不同的汉化工具之间可能存在适应性与兼容性方面的问题,有时可能需要多试几个工具。

第三步、修改资源。选定汉化工具后,就要开始对我们的汉化对象进行“换肤手术”了。这一步是整个汉化过程中最重要、工作量最大的一部分工作,也就是汉化工作的“重头戏” 了。其主要任务就是将“菜单”、“对话框”、“字串”中的英文翻译成中文。根据翻译任务工作量的的大小,一般以如下方式进行处理:

1、纯手工作业。即找到语言资源后,进行逐字逐句人工翻译。该方式适合翻译量不大的小型软件使用。其优点是出错可能性较小,翻译准确(准确程度在于您自己的翻译水平呵);缺点嘛,呵呵,劳动强度较大。不过您要知道,大凡精品,均出自handiwork(手工工艺)呵!在工具使用方面,大部分工作用eXeScope即可完成。另外,VC++ 6.0、BC++ 5.02(这两个有简化的汉化版本可用)以及Resource Hacker(资源黑客)、Resource Workshop(资源工厂),还有较早一点的Pebble 3.10均可考虑使用。而直接修改ASCII字符,则推荐使用UltraEdit 5.0及Hex Workshop。

2、机器翻译。采用“东方快车”之“永久汉化”、“中文工具箱”等带资源写入功能的智能翻译工具。其优点是快捷,点击几下鼠标即完成过程;不过其缺点也是致命的:质量差,又容易出错(有时修改了不该动的字符,可能导致软件不能正常运行,使您前功尽弃!)。关于质量问题,“东方快车”暂无解决方案,而“中文工具箱”有“翻译对照档”及“外挂字典”功能,可通过加强前期准备工作的办法在这方面进行较大程度的弥补。另外,“资源混杂型”软件,采用Language Localizator 的字典功能亦可减轻我们的部分劳动强度。

3、先机器,后人工。对于大多数软件,这就是我们的汉化翻译自然而然要采取的工作程序了。在经机器翻译并确认软件运行正常后,再对其中的译文进行修缮,最后全面完成界面语言翻译工作。

注意事项:

a、不要“过度翻译”。如 List1、$68、Progress、$0A、s%、/n、/r 等或一些莫名其妙的字符,您千万不要一相情愿地去修改它,否则的话……

b、注意“过程测试”。即每完成一小段工作后,要测试一下程序是否还保持正常运行。否则辛苦几小时后却发现程序根本已经不能运行了,而且连问题出在哪个步骤都搞不清;同时还要时刻注意备份已经完成的有效成果。总之,一旦弄成“白辛苦”,确实是件很痛苦的事呵!

第四步、调整界面。在语言翻译工作完成之后(或在同时),我们需要对软件界面中的字体及各部分的长短高矮等作适当的调整,以适应中文系统的显示特点。英文软件的界面字体大部分为“MS Sans Serif”,字号为“8号”,而中文系统最佳显示字体(默认字体)为“宋体”,字号为“9号”(即“小五”号),我们可在修改对话框资源时将它改过来。不过在这一点上,工具软件一般已作了自动设定,如在eXeScope中,您只要点按字号旁边的“改变” 按钮,在出现的字体选择窗口点按“确定”按钮即可(图五)。


(图五)



另外,由于即使对于同一个词条,译文与原文的长短一般是不同的,可能需要据此对它们在界面中所占的位置作些许调整。这些调整幅度不宜过大,以界面美观、方便使用为原则。调整方法(eXeScope中):使用“视图”菜单下的“对话框编辑器”,用鼠标实行“铆定拖曳”或“边界拖曳”即可;也可在点选修改对象后,改变编辑区最上方的“X”坐标(自左至右横向起点)、“Y” 坐标(自上而下纵向起点)及“宽度”、“高度”编辑框中的数值。

第五步、后期测试。在所有可能的资源修改工作完成之后,我们要对软件的整体作全面的运行测试。虽然在修改的过程中我们也进行了“过程测试”,但最后的测试是必须要进行的。有时候我们修改的文件不只一个,而是几个或更多时,最后的协同测试就变得尤其重要!事实上,当前个别汉化包使软件的部分功能丧失的现象也时有出现。我们要使自己的作品尽量保持原有功能,这是一个成功的汉化作品要具备的基本条件和起码品质。

在后期测试过程中,我们通常会发现还有个别顽固的英文词条还是未修改过来,更奇怪的是,查遍全部的菜单、对话框及字串都发现不了,这是怎么回事?不用急,这一定是作者将这部分资源转移附加在其它代码段或其它数据文件中了。这时候,让我们请出杰出的“16进制编辑器”工具 UltraEdit 5.0(或Hex Workshop等)。呵呵,说UltraEdit是当前汉化人的最后一张“王牌”工具可一点也不过份,因为它的功能实在是太强大了。这里的基本用法是:启动UltraEdit,在其中打开修改对象文件,使用其“搜索”功能将我们要寻找的英文词条查出,在其右边的编辑区直接将之修改成中文即可!(当然这里面还有些“道道”,您可自己去慢慢体会,详细使用方法及注意事项在本文第四篇将结合实例介绍)。什么,还搜索不出来?那这个词条可能根本就不在这个文件中,快看看安装目录中是否有其它可能包含资源的文件!

第六步、打包发布。好啦,全部的资源修改工作全部完成了,辛苦吧?如果只是为了自己即时使用,到这里也就可以收工了。不过,辛苦这么久,您就不想把自己的成果拿出来与朋友们分享分享?再则,您用了那么多的汉化软件,也不回报一下?好吧,一鼓作气,马上行动。记得首先为您的汉化作品写一个说明文本,向将要使用您的大作的朋友们交代一下使用方法和其它需要交代的事项。简单一点的,用WinZip、WinRAR打个压缩包;酷一点的,使用WinPatch、Patch Maker等补丁工具把它做成补丁文件;或者干脆一酷到底,加上专业的安装程序,直接将软件做成百分之百的中文版!打包的具体方法各不相同,请参看关于所使用打包软件的说明文件或教学文章。

至此,一件完整的汉化作品就诞生了!如何发布出去呢?有条件的,建立自己的主页,将自己的作品放在自己的“网上家园”,时髦而又专业;不过,大多数初学汉化的朋友可没有这个条件呵,没关系,上传到汉化网站就行。目前,发布汉化作品最方便,坚持得最好的汉化综合网站首推“汉化新世纪”。



第三篇:常用汉化工具简介

“工欲善其事,必先利其器。”现在让我们来看看当前进行汉化作业的“十八般兵器”(各兵器的用法请阅读各汉化站点的汉化教学文章):



兵器库一:程序分析类。所谓“知己知彼,百战不殆”,先搞清下手对象并对其制定作战方案,是取得战斗胜利的重要基础。除了下面列出的两员大将外,象Aspack及UnAspack、UPX等可执行文件压缩/解压工具,也经常成为汉化人的常规武器。



1、FileInfo

最新版本:2.49a

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:140KB

下载网址:http://www.hanzify.org/ 之“汉化工具 - 相关工具”页面

授权形式:免费

软件功能简介:能检测出软件所使用的编译工具及加壳类型。汉化作业必备工具之一。



2、ProcDump32

最新版本:1.62

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:270KB

下载网址:http://www.gb-2312.com/list.asp?id=825

授权形式:免费

软件功能简介:功能强悍的脱壳工具,支持多达由28类、几十种加壳工具生成的压缩加密文件,是修改文件资源前进行脱壳处理的不可多得的利器!



兵器库二:资源修改类。这是汉化的主战场,要使的武器较多,为什么?因为软件程序五花八门,对付起来不容易啊,呵呵。



1、eXeScope

最新版本:6.32

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:0.54MB

下载网址:http://www.gb-2312.com/list.asp?id=1222

授权形式:共享

软件功能简介:直接修改语言资源,导出导入图形资源,汉化作业首席工具。



2、中文工具箱

最新版本:1.9 Beta1

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:297KB

下载网址:http://www.hanzify.org/ 之“汉化工具 - 界面汉化”页面

授权形式:免费

软件功能简介:台湾朋友编写的一个可自动将软件中的英文字挑出、翻译,然后改写成中文界面的工具。自带翻译字典,并有“翻译对照档”及“外挂字典”功能,现已改写成简体中文版。



3、Pebble

最新版本:3.10

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:780KB

下载网址:http://www.hanzify.org/ 之“汉化工具 - 界面汉化”页面

授权形式:共享

软件功能简介:类似eXeScope,但不可处理图形等资源。用 Pebble 打开可执行文件编辑后可直接在 Win9X/NT下保存。让人称奇的是,其整个程序仅只一个文件。



4、Resource Hacker

最新版本:3.4.0.79

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:546KB

下载网址:http://www.hanzify.org/ 之“汉化工具 - 界面汉化”页面

授权形式:共享

软件功能简介:用于查看、修改、添加和删除 Win32 可执行文件的资源。内置了一个内部资源编译器和反编译器。



5、VC++ 6.0简化版

最新版本:6.0.8168.2

运行平台:WinNT/Win2K/WinXP

软件大小:3600KB

下载网址:http://www.hanzify.org/ 之“汉化工具 - 界面汉化”页面

授权形式:共享

软件功能简介:VC++汉化专用简化版本。能够打开EXE和DLL等文件,查找修改界面语言、图形、甚至改变语系等,但在Win9X下不能存盘。是实现软件完美汉化的必备工具。



6、BC++5.02汉化专用简化版

最新版本:5.02

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:4000KB

下载网址:http://www.hanzify.org/ 之“汉化工具 - 界面汉化”页面

授权形式:共享

软件功能简介:汉化功能类似VC++6.0,但可在Win9X下存盘。



7、Language Localizator

最新版本:5.04.02.048

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:1474KB

下载网址:http://www.hanzify.org/ 之“汉化工具 - 界面汉化”页面

授权形式:共享

软件功能简介:针对Delphi格式进行汉化的强力工具,有字典功能。



8、点睛字串替换器

最新版本:1.02

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:139KB

下载网址:http://www.hanzify.org/ 之“汉化工具 - 汉化辅助”页面

授权形式:共享

软件功能简介:点睛工作室作品。字串替换工具,可以查找和替换 VB 程序或其它程序的字串。能解决汉化超长截断问题,支持普通 UniCode 码及 ASCII码。



兵器库三:文本编辑类。在处理ASCII码或其它非资源性界面语言时,以上武器肯定会力不从心。这时候,我们就要请16进制编辑工具出马了!



1、UltraEdit

最新版本:9.00b

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:1600KB

下载网址:http://www.hanzify.org/ 之“实用工具 - 文本编辑”页面

授权形式:共享

软件功能简介:功能强大的文本及 16 进制编辑工具。可同时打开多个文件并可在之间快速切换;支持多文件查找、替换;支持自定义宏命令,多语言突出显示。汉化人的终极王牌工具!



2、Hex Workshop

最新版本:3.11

运行平台:Win9X/WinME

软件大小:原版1793KB,汉化581KB

下载网址:http://chinease.myetang.com/local.htm

授权形式:共享

软件功能简介:一款非常专业的16进制编辑器,功能强大的开发工具,可以方便地进行16进制编辑、插入、填充、删除、剪切、复制和粘贴工作,配合查找、替换、比较以及计算校验等命令使工作更加快捷。速度快,算法精确,并附带计算器和转换器工具。其强大卓越的比较功能对于汉化人极其有用!



兵器库四:翻译工具类。别告诉我您做汉化时不需要翻字典呵。



1、金山词霸

最新版本:2002

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:很大

下载网址:无

授权形式:商业

软件功能简介:不要介绍了吧,最好的电脑英汉双向词典。



2、东方快车

最新版本:XP

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:很大

下载网址:无

授权形式:商业

软件功能简介:其中的“永久汉化”部件可用于软件语言资源的前期翻译工作,可减轻部分翻译工作量。



兵器库五:补丁制作类。打包是汉化最后战绩的汇总。除了用WinZip、WinRAR简单地“捆扎”一下外,做成补丁也许是最经济、最得体的方式了。



1、WinPatch

最新版本:1.2.10

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:原版1362K,汉化286K

下载网址:http://chinease.myetang.com/local.htm

授权形式:共享

软件功能简介:一款使用简单、功能强大的补丁制作工具。压缩率较高,尤其适合汉化人发布汉化补丁。



2、Patch Maker

最新版本:1.2d

运行平台:Win9X/WinNT/Win2K/WinME/WinXP

软件大小:原版451KB,汉化217KB

下载网址:http://www.yy-china.net/htm/hhgj.htm

授权形式:共享

软件功能简介:一个小巧的、向导模式的补丁程序制作器,补丁效果较好,有一定的压缩率,界面效果很专业。



当然除了以上介绍以外,还可以有很多武器可拣选,而且新武器也一定会不断出炉。另外在图形修改方面,除了专业级的Photoshop、CoreDRAW(呵呵,有点“高射炮打蚊子”的味道!)外,简单精练的PhotoLine、ACDSee甚至Windows自带的画笔都是非常实用的图族利器!



第四篇:汉化实战解剖

好了,前面我们费了那么多的口水,大部分都是在纸上谈兵。现在让我们来进行一次实战演练,目标就是大名鼎鼎的Winamp,版本为英文版2.79(呵呵,老编指定!)。

首先安装Winamp 2.79英文版。执行下载的安装文件Winamp279_full.exe完成安装后,在安装目录 Winamp/ 下我们看到一共有9个文件和三个文件夹,其中文件夹AOD和Skins(面板)对我们的汉化工作暂且无意义,不管它。文件夹Plugins即插件文件夹,Winamp的全部插件就放在这里面了。Winamp/ 下的文件分别为:demo.mp3(音频样本,就是安装完成时Winamp自动播放的那段音频)、UninstWA.exe(卸载程序)、whatsnew.txt(版本说明文本)、winamp.exe(主执行文件)、winamp.ini(配置文件)、winamp.m3u(播放清单文件)、winamp.q1(音频处理文件)、winampa.exe(Winamp Agent(代理),即系统托盘中的那个代理)、winampmb.htm(迷你浏览器)。

第一步:软件资源全面分析。

在以上文件中,UninstWA.exe为Winamp安装程序自动生成,无需汉化;winamp.q1、demo.mp3、winamp.ini及winamp.m3u几个文件中没什么语言资源,不要管它;winampa.exe中有少量语言资源,但用eXeScope打开看不见,用UltraEdit则可挖出来(搜索,直接修改);whatsnew.txt 为文本文件,直接打开即可编辑;winampmb.htm为网页文件,用FrontPage可编辑;剩下的主执行文件winamp.exe,我们要修改的资源大部分就包含在其中了!另外,每一个插件是一个DLL文件,其资源修改需每一个单独处理。

现在我们来解剖主执行文件winamp.exe:

启动eXeScope 6.32汉化版,打开winamp.exe(图六):


(图六)



在本文的“第二篇”中,我们曾用FileInfo对Winamp.exe的进行了资源检测,知道该程序是使用 MS VC++ 6.0 编译(见“图四”)。事实上正如我们现在所看到的,这是一个“资源分离型”软件,其“位图”、“菜单”、“对话框”、“字串”等资源相对独立。资源数目为:位图18项,菜单1项,对话框35项,字串11项,其它资源与汉化没什么关系,不过这里多出来一个“TEXT”,什么东西?看看里面的字符,是不是有点眼熟?呵对了,原来就是我们点击Winamp主窗口右下角的“闪电”标记后出现的About Winamp窗口中的Keyboard Shortcuts(键盘快捷)选项卡中的文本!奇怪的是,这个文本在eXeScope中竟然不能编辑,而且只可导出,不可导入!

“位图”包含了Winamp“基本面板”各部件及启动画面的图形资源。eXeScope不能直接编辑图形类资源,但可以通过“导出——修改——再导入”的办法变通处理。

第二步:修改主要语言资源。

Winamp的语言资源应该说不算少。如果我们用纯手工来翻译的话,其劳动强度相当大(翻译一两个条目试试就知)。还是先用机器来打点基础吧!

启动“中文工具箱”1.9b。在“制作翻译对照档”选项卡的“档案:”编辑区选定要翻译的文件winamp.exe(可用“浏览…”按钮查找)。找到后直接点击“开始制作”按钮(图七),接着出现翻译过程画面(图八)。现在“中文工具箱”已为我们完成了一个翻译“对照档”,此“对照档”的位置为“中文工具箱”安装目录的Projects文件夹中,文件名winamp.TXT。让我们打开看看(图九):


(图七)




(图八)




(图九)



此“对照档”是利用“中文工具箱”自带的字典翻译的,当然还需要我们进行手工修改。现在尚未将翻译的结果写进winamp.exe程序,不过在修改之前我们要看看这个翻译文本能否写入,否则,等我们费了九牛二虎之力全部修改完毕后报告一个“致命错误”什么的,岂不很惨?转到“汉化”选项卡。用“浏览…”按钮找到这个“对照档”winamp.TXT后点击“开始”按钮(图十)。接着出现汉化写入过程画面(图十一)。


(图十)




(图十一)



现在来检查一下我们的第一个实际性成果。启动Winamp,我们将看到“图十二”中的效果(注:经剪贴处理):


(图十二)



呵呵,中文界面立刻就出来了!虽然翻译还太粗糙,但看到亲切的母语是不是有了一点成就感?确认“对照档”winamp.TXT可以安全写入之后,现在我们就要对“对照档”中的译文作进一步的修缮。最后修改得如何,这就要看您的翻译功夫了。

有时我们在确认能够写入后,先不急于写入,而是先修改“对照档”,修改得差不多了再写入。不过要注意的是,在修改过程中一定要进行“过程测试”和阶段性备份,还有“对照档”中英文原文的那一行您千万不要动它!另外,“中文工具箱”是台湾朋友编写,其中的一些“台湾词”需要把它改成“大陆词”,比如把“网际网路”改为“因特网”之类。

“对照档”修改得差不多了,我们还是用刚才的步骤把翻译写入winamp.exe。写入之后还可以继续修改,这时候,仍然用eXeScope作为修改工具较为方便。

以上讲的是一般方法,处理一个新软件通常可以使用这些步骤。有无偷步之法?当然有啦,前提是您要有同一软件以前旧版本的汉化作参考,这样就可以更快、更准确地制作出高质量的“对照档”。方法如下:点选“中文工具箱”的“制作翻译对照档”选项卡左下角的“高级对照制作”,出现“图十三”的画面:


(图十三)



在相应的编辑区分别找到要处理的档案和参照档后,点击“开始制作”按钮……然后您检查一下生成的“对照档”,它的质量是不是高了许多?(当然,首先参照档的质量要高呵。)

第三步:修改其它语言资源。

修改完“菜单”、“对话框”、“字串表”中的语言资源之后,我们在运行Winamp的时候,还发现有许多英文词条并没有翻译过来,这是因为他们根本没有被放在以上三种主要资源类型中。

1、“TEXT”资源。在对winamp.exe进行资源分析的时候我们已经指出,这部分资源就是我们点击Winamp主窗口右下角的“闪电”标记后出现的“关于Winamp”窗口中的Keyboard Shortcuts(键盘快捷)选项卡中的文本。这个资源在eXeScope中不能编辑,而且只可导出,不可导入!好啊,既不可编辑,又不能导入,岂不死翘翘?(图十四)


(图十四)



我们先用“王牌工具”UltraEdit试试。启动UltraEdit并在其中打开工作对象winamp.exe,在“搜索”菜单中选“查找ASCII”,在“查找什么”后面键入TEXT资源中的首个词条“Keyboard Shortcuts”,呵呵,果然不愧是“王牌工具”,一查即出!(图十五)


(图十五)



我们试着把“Keyboard Shortcuts”改为中文“快捷键”,保存后再启动Winamp,发现界面上确实已经改过来了。且慢高兴,为何?如果这里全部用这种方法改的话,由于字串长短所带来的困难,可以说最后十有八九(其实几乎是百分之百)歇摊!不信试试看。

笔者又用VC++6.0及BC++5.02试过,结果也是无能为力(VC++6.0应能导出后变通处理,较复杂,效果未试)。呵呵,最后找到一位“黑客大侠”,现在我们请Resource Hacker登场!在Win2000/XP中(Win9x中可能出现乱码)启动Resource Hacker(汉化版本)并在其中打开工作对象winamp.exe,看到TEXT资源了吧,进入其最底层“1033”,看右边的编辑区,呵呵,这简直就是Winamp中那个界面本身嘛!注意,这可是个“可见即可得”的可编辑界面呵!事实上,您要将它改成什么样子都行。在右边编辑区直接修改完成后,请记得点击“编译脚本”按钮(或边修改边点击),否则您会前功尽弃!以下截图(图十六)就是编辑过程中的画面。


(图十六)



2、其它遗漏语言资源。在使用测试过程中,我们发现还有一些英文词条。包括连接上网时的信息框,甚至“生成HTML播放清单”时在“迷你浏览器”中的显示信息(图十七),还有安装过程中的选项信息等等。这些词条均可用UltraEdit轻松解决。


(图十七)



第四步:界面调整。

1、文字界面。事实上,文字界面的调整通常在修改语言资源的同时已经进行,因为界面的安排要根据语言字串长短的变动而定。词条显示位置及对话框大小的调整,通常在eXeScope中用鼠标实行“铆定拖曳”或“边界拖曳”即可完成。“中文工具箱”在以上的翻译过程中,已经自动将原来的字体改成了我们需要的“宋体9号”,这里就不要我们操心了。这里要提一下,汉化人通常会在软件的“关于”对话框加上汉化作者信息,这是无可厚非、也合情合理的。不过千万不要把原作者的信息去掉而换成自己的宣传广告语言,这是软件本地化工作的最基本的礼节。

2、图形界面。很多软件的图形中都有英文词条,追求完美的汉化人是不会放过它们的。不过,能直接修改图形资源的工具并不多,好象还只有VC++6.0能做点象样的工作,但这个工具在Win9X下无保存功能。笔者通常还是采用eXeScope对位图资源的导出导入功能来解决。Winamp的位图资源中,编号128、130、194、199、228的位图中有英文词条,将其导出,使用其它图形处理工具将英文词条改成中文词条后再导回去,就变成中文图形界面了。效果如何,要看您的图形处理能力了。

第五步:后期处理及打包。

在处理完主文件后,剩下的工作应该相对简单。对Winamp来说,我们还要把文件winampa.exe、winampmb.htm甚至whatsnew.txt,还有各个插件都汉化好,这样才算比较完整的汉化。不过那个AVS插件也不简单,好在方法上与处理主程序大致相同,这里就不多啰嗦了。

关于“语系”问题。笔者以为,只要软件能够正常运行和正常显示,也没有必要去修改它。保持原来的语系,一般来说不会出什么问题,倒是有些软件在修改语系后反而不能运行。

另外,有两个细节在这里向大家介绍一下。一个是将Winamp窗口标题栏的字号改为“宋体9号”,根据“点睛工作室”梁利锋兄的办法,只要将5556AF6改为55556AF4即可(注:以前版本是这样。而v2.79及以后版本已变成由53536AF6改为53536AF4);第二个是Winamp窗口标题栏在显示“宋体9号”字体时需要下移一行,以及播放清单编辑器第一行文字缺失一行像素的问题,根据Hthong兄的办法,分别只需把C74424201700中的17改为18及把6A1883C0ED50中的18改为17即可。以上修改工具可用UltraEdit。

所有的资源都处理完毕后,还要对软件进行最后的综合运行测试。在各种环境下确认无问题后,最后考虑将汉化资源做成一个汉化包,一来好方便朋友们使用,二来也让大伙儿分享一下您成功的喜悦!

打包的方法一般有:

1、做成压缩包。用WinZip或WinRAR等压缩软件将其压缩成Zip、RAR文件,或者自解压文件。这种方法比较简单,但也实用,同时汉化的成功率也相对较高(解压覆盖原版文件即是)。缺点是界面太简单(不过有些自解压包也能做得相当漂亮!)。如Winamp2.72汉化程序(用WinRAR打包)(图十八)。


(图十八)



2、做成汉化补丁。用WinPatch、Patch Maker等专业补丁工具制作,如Winamp2.76汉化补丁(用Patch Maker 1.2d制作)(图十九)。其优点是体积小(可降低上传下载的交流成本),缺点是对使用环境及执行操作的要求相对较高,有时不能成功汉化。


(图十九)



汉化补丁是汉化人通常采用的汉化包形式。下面我们一起来看看上面这个汉化包的制作过程。

第一步:安装Patch Maker汉化版(下载地址见本文第三篇“常用汉化工具简介”之“兵器库五:补丁制作类”,先安装英文版再汉化)。

第二步:准备资源文档。将您修改好的全部汉化文档放在一个方便使用的位置,比如桌面,并放进一个比如名为“WinampHH” 的文件夹;然后对应地找到将英文原版文件夹的位置(最好处理为与汉化文档中的文件相同),编写好有关汉化说明的文本备用。

第三步:启动Patch Maker并制作。启动后建议采用“向导”模式,以下为主要步骤及界面:

“目录”(这一步选择到刚才准备好的文档)(图二十):


(图二十)



“设置程序标题”(如“Nullsoft Winamp 2.76 汉化程序”)(图二十一):


(图二十一)



“信息”(显示安装补丁前要显示的文字说明)(图二十二):


(图二十二)



“窗口”(让您选择界面的大小)(图二十三):


(图二十三)



“位图”(让您选择补丁界面的背景图像及左边的LOGO图形)(图二十四):


(图二十四)



以及“安装目录”(选择默认的补丁安装目录)等窗口。注意:将Patch Maker目录下的wizard.bmp(LOGO图)和InstallBack.bmp(背景图)换成您自己的,可增强汉化补丁的个性化色彩!而如果您不想要“向导”模式,要自己全面掌控整个制作过程,可选择到下面的界面(图二十五):


(图二十五)



这样您就可以随心所欲地设置了,呵呵。

在“创建”阶段,会在Patch Maker的安装目录中自动生成一个.exe文件,这个就是您最新出炉的大作了!退出制作程序前Patch Maker还会问您是否保留制作方案,以方便下次的升级制作,确实考虑得挺周到。

3、做成安装版本。即做成一个可脱离英文原版独立运行的中文版本。其好处不言自明;缺点:要完全保持原汁原味,难度较大。对软件特性和安装程序要相当熟悉。如Winamp2.79简体中文版(用NSIS 1.80打包)(图二十六)。


(图二十六)



以著名软件Winamp为线索的软件汉化实战全过程就介绍到这里了。其在“资源分离型”软件的汉化处理中具有一定代表性。关于“资源混杂型”软件,其实我们前面用到的“中文工具箱”本身就是一个(见本文“第二篇”之“图三”)。如果语言资源不多,我们同样可以在eXeScope中修改。通常要注意以下两点:一是其可以修改的语言资源都在英文单引号’ ’之间;二是字体修改方面,要将字体名资源“Font.Name = 'MS Sans Serif'”中的“MS Sans Serif”改为“宋体”,将字号信息“Font.Height = -11”中的“-11”改为“-12”(即9号字)(不同位置的字体设置可能稍有不同)。笔者较早汉化的Speaking Clock Deluxe v3.02属于此类,有兴趣的朋友可找来打开汉化版本的主程序文件看看。此类软件的本地化技术尚不够成熟,当前最好的工具应该是Language Localizator了,限于本文初衷及篇幅,这里就不展开讨论。

好了,当然我不说您也知道,并不是读了本文后就立即会成为汉化高手,还需要自己多动手,多研究。况且软件的本地化技术在随着计算机技术不断地同步发展,您的加入和研究或许哪一天会对……呵呵,什么事情都可能发生呵!在下一篇中,我们将为您推荐一些有用的汉化资源,希望能对您有所帮助。



第五篇:汉化资源放送

因特网的发展日新月异,网络上有着丰富的汉化资源。众多的汉化网站中,积聚了汉化人多年劳动的心血和研究成果。然而这一切目前都是免费提供的!爽吧?不过记得在“不要钱”地享受这些汉化成果的同时,顺便至少在精神和道义上支持支持汉化事业呵!

首先我们推荐几个优秀的汉化网站(注:仅包含部分坚持更新的站点,更多汉化站点请查看“水手四方”主页或“水手四方”论坛的“汉化站点大本营”。另外下面的简介文字仅水手个人观点,若有欠妥之处,在此致歉!):



1、汉化新世纪

网址:http://www.hanzify.org/

简介:大型综合性自由汉化网站,致力建设“自由汉化人共有的家园”。目前共收集了450余位汉化人的数千个汉化作品,是目前国内规模最大、发布作品最方便、收集作品和教学文章最多的汉化站点。



2、龙飞阁

网址:http://www.longfei.org/

简介:综合性个人汉化网站,“中国软件汉化同盟”成员站。其坚持时间之长和收集作品之多在个人站点中首屈一指。



3、中国软件汉化同盟(汉化资源网)

网址:http://www.52hh.com/

简介:非盈利性综合汉化网站,国内最早的汉化组织,共有成员22个,收集或创作汉化作品6大类4800余个。将一种无任何报酬的工作从1995年一直做到现在,实在不易!



4、简体中文网

网址:http://www.gb-2312.com/

简介:国内继“汉化新世纪”后又一个汉化综合网站,目前已收集6大类近2000个汉化作品。致力创建一个“简体中文资源基地”,结构较为完整。



5、YY工作室

网址:http://www.yy-china.net/

简介:个人汉化网站,“汉化新世纪”主力成员站之一。以发布自产作品为主,其汉化作品的速度和数量曾一时无两。作品牵涉面广,风格严谨沉稳。



6、新起点汉化

网址:http://www. jwjjt.net/

简介:个人汉化网站,“中国软件汉化同盟”成员站。收集或创作8大类数千个汉化作品,其自产作品在网友中广有影响。



7、点睛工作室

网址:http:// llf.126.com/

简介:编程类个人工作室,严格地说不是汉化站点。但其执著的技术追求、平易求实的风格及对汉化人诸多的实际帮助,使其成为汉化界德高望重的朋友。



8、ChinEase 简体汉化节点

网址:http://chinease.126.com/

简介:个人汉化网站,WinRAR的最初及经典汉化者。目前主攻CAD类软件汉化。作品风格严谨务实。



9、浪天阁

网址:http://ronnier.yeah.net/

简介:个人汉化作坊,“汉化新世纪”主力成员站之一,继ChinEase 后WinRAR汉化的新操刀者。其作品技术性较强,利索而具灵气。



10、虚幻时空

网址:http://unreally.yeah.net/

简介:个人汉化站点,“汉化新世纪”主力成员站之一,主要发布自产汉化。作品成熟,数量较多,网站同时包含一些实用的软件资源链接。



11、中文化软件联盟(台湾)

网址:http://www.cpatch.org/

简介:台湾朋友的综合性汉化网站,也是台湾最大的中文化组织。成立于1998 年2月,目前成员50人左右。致力中文化技术的研究与应用,其“软件草堂”收集20大类中文化作品,当然皆为繁体中文(BIG5码)。



(最后介绍一下笔者自己的网站,呵呵。)

12、■水手四方■

网址:http://www.seamanly.com/

简介:个人汉化站点。以“用方块汉字,交四方朋友”为宗旨,致力办成“汉化入口站点”和“汉化精品站点”。首页及论坛设置了国内四大综合汉化站点的搜索引擎以及丰富的汉化站点和论坛的入口链接。代表作品有著名软件Winamp的简体中文系列程序等(自家的,不吹啦!)。



在汉化教学文章方面,其实以上网站中登载有许多,只要您前去访问,一定能够发现。其中收集最多的要算是“汉化新世纪”的“汉化教学”栏目了,笔者在这里向朋友们特别推荐该网站收集整理的汉化教学文章集锦《汉化宝典》,其用CHM格式制作,有“初级版”和“高级版”,而且还分“简体版”和“繁体版”,制作者真不愧是用心良苦的有心人!它包含了汉化知识的初步教学,也提供了大量的汉化招式和技术精华,可以说几乎囊括了大陆、台湾所有此前在网上登载过的汉化心得及教学文章,绝对值得您拥有一“册”!





(完稿于二○○二年四月二十六日)


 
用工具软件,比如exescope、resourhacker
 
geluyx, 讲的很全,原文在那里?

各位兄弟,我说的是用delphi来实现,不是用别的现成的工具。

geluyx, 的汉化写的比较全了,那修改按钮的谁来说说
 
16进制编辑器//
editplus
 
UltraEdit
Exescope
ResHack
www.google.com search for
 
用UltraEdit,eXeScope,Pebble32
 
兄弟们,我是说用delphi
 
你是想做个这样的程序还是干什么呢?如果是想自己做个资源分析器,那你先把pe文件
的格式好好了解了解。如果是想修改某个button,使之可用或不可用,不是一定可以实现,
如果别的程序是动态改变的话,你改可执行程序没有作用阿。

你最好把你要达到的目的说说,才好讨论。
 
我给你一个修改可执行文件按钮的小例子。
 
修改*.ini文件里面的参数即可了
 
多人接受答案了。
 
后退
顶部