西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)編程開發(fā)其它知識(shí) → 如何漢化PPC/SP/PC漢化教程

如何漢化PPC/SP/PC漢化教程

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:本站原創(chuàng)時(shí)間:2010/8/16 10:52:06字體大。A-A+

作者:不詳點(diǎn)擊:520次評(píng)論:0次標(biāo)簽: 漢化軟件

PE Explorer 漢化軟件1.99.6 漢化版
  • 類型:反編譯(譯逆工程)大。1.8M語(yǔ)言:中文 評(píng)分:5.0
  • 標(biāo)簽:
立即下載

其實(shí)PC和PPC/SP在漢化的許多地方都是相似的,這里所說(shuō)的漢化,是指漢化Windows下的PE文件,把其他語(yǔ)言界面的程序翻譯為中文界面。

要漢化一個(gè)軟件,一般的流程是這樣:

一、檢測(cè)軟件是否加了殼:

漢化一個(gè)軟件前我們首先要做的就是要看看軟件是否加了殼。因?yàn)槌绦蚣恿藲ず螅话闱闆r下資源也被壓縮了,使用普通的漢化工具是無(wú)法漢化的。這時(shí)一般有兩種辦法:一種是完全脫殼后再漢化,這種方法可以漢化的比較徹底;

另一種是殼太猛,不好脫,只好退而求其次,用 freeRes 這樣的工具來(lái)釋放一下資源,再來(lái)漢化。這種方法只能漢化標(biāo)準(zhǔn)資源,一般就是主界面看到的部分,非標(biāo)準(zhǔn)資源因?yàn)槲疵摎,還是無(wú)法漢化,所以這種方式漢化的不徹底。平常我們看到的漢化軟件一般都是完整的漢化,就是有殼的脫了殼,標(biāo)準(zhǔn)資源和非標(biāo)準(zhǔn)資源都漢化了。這里脫殼后的文件優(yōu)化也要注意,平常我們分析軟件的時(shí)候,只要脫了殼,程序能正常運(yùn)行,沒(méi)有功能丟失就可以了,但要能漢化的話要求要嚴(yán)格一些。因?yàn)橐褂靡话愕臐h化工具來(lái)漢化程序的話,最好脫殼后程序的資源段(一般區(qū)段名稱是 .rsrc)要放在最后,這可以使用 FixRes 或 freeRes 這樣的工具來(lái)重建資源。

另外,平常我們把脫殼后的程序優(yōu)化時(shí)可以用 LordPE 刪除垃圾區(qū)段,再重建一下。但若要用漢化工具來(lái)漢化這種用 LordPE 優(yōu)化重建后的程序,很可能生成的漢化程序運(yùn)行時(shí)會(huì)出錯(cuò)。如果你要會(huì)手工優(yōu)化的話那是最好,可以刪除垃圾區(qū)段,根據(jù)文件對(duì)齊粒度和區(qū)段對(duì)齊粒度等來(lái)優(yōu)化文件,這樣手工優(yōu)化后的文件一般漢化時(shí)不會(huì)出錯(cuò)。

如果不會(huì)手工優(yōu)化,可以在脫完殼重建資源后就用漢化工具來(lái)漢化,漢化完成后再用 LordPE 這樣的工具來(lái)優(yōu)化一下漢化后的程序就可以了。

二、檢測(cè)程序資源類型:

檢測(cè)程序資源類型我們同樣可以用 PEiD、FI 這樣的工具,主要是看程序是用什么開發(fā)工具寫的。各個(gè)開發(fā)工具編譯出來(lái)的程序標(biāo)準(zhǔn)資源類型是不同的。一般可以分以下幾種:

1、VC、MASM 這樣的開發(fā)工具做出來(lái)的程序要漢化的標(biāo)準(zhǔn)資源主要在 Menu、Dialog、String 等中。

2、Delphi、C++Builder 這樣的 Borland 公司開發(fā)工具做出來(lái)的東西要漢化的標(biāo)準(zhǔn)資源主要在 Rcdata 和 String 中。

3、VB 開發(fā)的程序,這種程序我們一般所說(shuō)的標(biāo)準(zhǔn)資源是指 Form 中的資源,這種 VB 編的程序目前還沒(méi)有可以可視化編輯界面資源的工具,相比較而言漢化起來(lái)不是很痛快;)

4、上面說(shuō)的主要是標(biāo)準(zhǔn)資源,再說(shuō)一下一般定義的非標(biāo)準(zhǔn)資源。非標(biāo)準(zhǔn)資源一般簡(jiǎn)稱為非標(biāo),指在程序中出現(xiàn),但又不在標(biāo)準(zhǔn)資源中的 UNICODE 字串或ASCII字串,這類字串漢化需要其他的工具。

判斷完程序是什么開發(fā)工具做的,我們就對(duì)資源類型大致有數(shù)了。下面就可以開始著手漢化了。

三、使用合適的漢化工具:

這里首先要說(shuō)明一下,像什么 eXeScope、ResScope、ResHacker、PE Explorer 這樣的工具嚴(yán)格來(lái)講都不是漢化工具,只能說(shuō)是資源修改工具。一般所說(shuō)的漢化工具是指如 Visual Localize、PASSOLO、Multilizer、Alchemy CATALYST 這樣的工具。

這些工具都是可以可視化調(diào)整調(diào)整界面的,不過(guò)這些工具都不能用來(lái)漢化 VB 編的程序,關(guān)于漢化 VB 編的程序要使用其他的工具,F(xiàn)在針對(duì)上面所說(shuō)的資源類型來(lái)談?wù)劰ぞ叩倪x用:

1、VC、MASM 類程序:這種程序可以用上面提到的任何一款漢化工具漢化,就我個(gè)人來(lái)講,我比較喜歡用 PASSOLO,Visual Localize 也是個(gè)很不錯(cuò)的選擇。

2、Delphi、C++Builder 類程序:這種程序可以使用 PASSOLO、Multilizer 來(lái)漢化,一般用 PASSOLO 時(shí)應(yīng)該選擇 PASSOLO 的 UNICODE 版本。對(duì)這類程序,還可以采用外掛語(yǔ)言包的方式來(lái)漢化標(biāo)準(zhǔn)資源。這種外掛語(yǔ)言文件的方法對(duì)一些加了猛殼,且又不想脫殼或不好脫殼的程序非常有用。因?yàn)?Borland 公司的編譯器編譯出來(lái)的程序默認(rèn)對(duì)語(yǔ)言文件支持,編譯好的程序會(huì)自動(dòng)檢測(cè)是否有語(yǔ)言文件。

一般的未加殼的此類程序,要采用語(yǔ)言文件漢化標(biāo)準(zhǔn)資源的話,只需生成對(duì)應(yīng)的語(yǔ)言文件放到原程序目錄就可以了。對(duì)于加了猛殼的此類程序,如果只是漢化標(biāo)準(zhǔn)資源的話,不需要脫殼,只要用 freeRes 這樣的工具釋放一下壓縮資源,再漢化釋放資源后的程序,生成語(yǔ)言文件后放到原程序目錄下就可以讓主界面顯示對(duì)應(yīng)語(yǔ)言了。用 PASSOLO、Multilizer 來(lái)漢化這樣的程序,還有一些區(qū)別的地方:

(1)、PASSOLO,漢化這類程序時(shí)選目標(biāo)為簡(jiǎn)體中文時(shí)默認(rèn)生成的目標(biāo)是后綴名為 CHS 的文件。不過(guò)生成的文件其實(shí)只是改了后綴名的漢化后的 EXE 或 DLL 等可執(zhí)行文件。這可以預(yù)先設(shè)置一下目標(biāo)文件的后綴名,使生成的漢化后的文件后綴名為 EXE 或 DLL 等這樣的可執(zhí)行文件。如果只是想生成語(yǔ)言文件,最好在生成目標(biāo)文件的高級(jí)選項(xiàng)中設(shè)置一下,把生成純資源 DLL 的選項(xiàng)選上,再把漢化生成的CHS文件的和漢化資源無(wú)關(guān)的項(xiàng)如圖標(biāo)、位圖等刪掉,減小體積。

(2)、Multilizer,這個(gè)工具漢化此類的程序時(shí),默認(rèn)生成的就是語(yǔ)言文件,要想生成漢化后的可執(zhí)行文件,要在工程選項(xiàng)中把輸出文件中的“已本地化的文件”選項(xiàng)選上。而生成的簡(jiǎn)體中文語(yǔ)言文件一般也使以 CHS 為后綴名。

采用語(yǔ)言文件方式漢化的話,只要把漢化完標(biāo)準(zhǔn)資源的語(yǔ)言文件和原程序放在同一目錄就可以讓主界面顯示中文了,不受主程序是否加殼的影響。這里要注意的是語(yǔ)言文件名要與原程序名稱一致,如你要漢化 test.exe,語(yǔ)言文件名就要是 test.CHS,同樣,你要是把 test.exe 改名為 test1.exe,語(yǔ)言文件名也相應(yīng)要改為 test1.CHS。

3、VB 類程序:這種程序目前可以用來(lái)漢化的工具有 VB 窗體漢化器、GetVBRes、新出的 VBLocalize 等。缺點(diǎn)就是沒(méi)有可以可視化調(diào)整漢化后界面的工具。

4、非標(biāo)準(zhǔn)資源:這類非標(biāo)資源的漢化主要采用的工具有點(diǎn)睛字符串替換器、CXA、楓葉字符替換器等。主要功能是把原程序需要漢化的非標(biāo)字串提取出來(lái),漢化完后再寫入。漢化非標(biāo)資源要求程序必須沒(méi)有加殼,且這個(gè)地方漢化不當(dāng)?shù)脑捜菀鬃尦绦虺霈F(xiàn)問(wèn)題,比如不能漢化的字串漢化了等等這樣的情況,會(huì)讓程序運(yùn)行出錯(cuò),也就是常說(shuō)的漢化過(guò)度。所以漢化非標(biāo)資源時(shí)要特別注意,要多測(cè)試,防止出現(xiàn)因漢化引起的bug。

四、漢化標(biāo)準(zhǔn)資源中的字串:

一般的漢化工具都支持字典及導(dǎo)入導(dǎo)出功能,字典主要靠自己積累,你漢化的軟件越多,生成的字典越多,漢化起其他程序來(lái)就越快。因?yàn)楹芏鄡?nèi)容都可以直接用字典來(lái)漢化完成。如果是漢化一個(gè)新的程序,且又沒(méi)有什么可用的字典怎么辦?

我一般的做法是采用漢化工具的導(dǎo)出功能,把沒(méi)翻譯的源英文字串直接導(dǎo)出(這里注意如果是用 Multilizer 導(dǎo)出的話,需要把目標(biāo)翻譯語(yǔ)言欄全選,再粘貼原始語(yǔ)言,這樣導(dǎo)出的采用 TAB 分隔的 ASCII 文本才好轉(zhuǎn)換為對(duì)照文本),再用字典轉(zhuǎn)換工具如 Fantasy Editor 或開心字典轉(zhuǎn)換工具把導(dǎo)出的文件轉(zhuǎn)換為對(duì)照文本,這樣就可以采用 SeaTools 這樣的工具來(lái)進(jìn)行機(jī)器翻譯,機(jī)器翻譯完后再進(jìn)行手工修改,全部翻譯好后再用上面說(shuō)的字典轉(zhuǎn)換工具轉(zhuǎn)換為對(duì)應(yīng)漢化工具的字典文件,現(xiàn)在就可以用這樣的字典文件來(lái)翻譯原程序了。

五、調(diào)整界面,設(shè)置對(duì)話框字體,漢化其他內(nèi)容:

設(shè)置字體一些漢化工具在創(chuàng)建工程時(shí)就可以完成,如用 Visual Localize 的話需要在工程中設(shè)置一下對(duì)話框字體。字串漢化完后要做的工作就是調(diào)整界面,因?yàn)闈h化后有些對(duì)話框的字串會(huì)顯示不全,按鈕過(guò)大或過(guò)小,對(duì)話框大小不合適等等都要調(diào)整。如果還有什么其他的資源如圖片等要漢化的,可以導(dǎo)出后修改了再導(dǎo)入。

六、漢化非標(biāo)資源中的字串:

標(biāo)準(zhǔn)資源漢化完成后就要開始漢化非標(biāo)準(zhǔn)資源字串了。漢化方法與漢化標(biāo)準(zhǔn)資源類似,用我上面所說(shuō)的非標(biāo)資源提取工具先把非標(biāo)字串提取出來(lái),刪除不需要翻譯的,再做一下字典轉(zhuǎn)換(對(duì)于點(diǎn)睛字符串替換器、CXA 這樣的工具,如果有當(dāng)前漢化的程序以前的非標(biāo)字串翻譯,可以直接作為字典導(dǎo)入),先機(jī)器翻譯,再手工修改后導(dǎo)入。漢化非標(biāo)字串如果有經(jīng)驗(yàn)的話比較好,一般可以看出那些東西是需要翻譯的哪些是不需要翻譯的,哪些翻譯后字串長(zhǎng)度比原字串短時(shí)補(bǔ) 0 還是空格。如果沒(méi)什么經(jīng)驗(yàn),就要多測(cè)試了。

七、漢化后程序測(cè)試及字體調(diào)整:

這個(gè)地方是比較繁瑣的,因?yàn)闈h化后有可能造成程序出錯(cuò),這里就要重點(diǎn)檢測(cè)非標(biāo)部分。另外漢化后有些地方的字體比較難看,這些地方是無(wú)法通過(guò)在標(biāo)準(zhǔn)資源中設(shè)置字體來(lái)修改的,這時(shí)就要通過(guò)調(diào)試來(lái)設(shè)置字體了。設(shè)置字體在 OD 中主要斷這幾個(gè)函數(shù):CreateFontA(W)、CreateFontIndirectA(W)、GetStockObject。找到地方再作修改。

說(shuō)到這大致差不多了,其他的還有一些非標(biāo)字串漢化后字串長(zhǎng)度超過(guò)原字串長(zhǎng)度,需挪移修改、漢化后有程序有自校驗(yàn)需去除、字串加密后的漢化等等,我就不再這里說(shuō)了,大家可以自行參考漢化新世紀(jì)的相關(guān)文章。此外還有一些圖形界面游戲的漢化是不能采取我上面說(shuō)的這樣的方法的,如你要漢化 StarCraft,用我這種方法是不行的。漢化這樣的游戲可能要你分析程序,采用外掛方式來(lái)漢化。
 

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)