最近又想到一个汉化的新思路,就是显示函数的移花接木法。
+ ^6 q2 F6 a, L( D& }! O: n. d$ n" N9 m8 u# q6 ?9 X
对于一些采用图片字库的游戏,目前的所有汉化方法几乎都失效,因为自己构造一个中文的图片字库目前阶段几乎是不可能的。所以就有了以下这个想法。
2 k+ a- o S/ \$ @: i, Z2 V
" p( N" Y+ ~" K2 Y具体思路如下 6 V% _5 ~/ G, p7 J
: T% i c" w" X4 W2 a1.自己编写一个调用ExtTextOutW来显示字符串的试验小程序。
5 k) O- b! o# S% K7 \( `4 H$ P1 i在窗口里输出一个中文字符串。
) _: _' A2 C& C0 I. D2.用OD进行分析,找到并分析清楚调用ExtTextOutW函数的汇编代码段。 4 |6 C. Y1 I* a0 R9 |9 p
3.在要汉化的游戏里用OD找到调用显示函数的地方。
' G2 [9 Z; ?) T x+ W2 T4.在要汉化的游戏里找到一段空白的代码段,如果空白的代码段不够长的话,要寻找不使用的函数,把它清空。
; D7 M+ E% N: Q% }/ Y5.在空白的代码段出插入ExtTextOutW函数的汇编代码段
9 U/ o. R, a1 y$ [/ j- J* B$ B6.在游戏里调用显示函数的地方进行修改,使其跳转到ExtTextOutW函数的汇编代码段,并且使字幕和显示位置被正确传递。 2 i: _0 M. ]6 v4 |
7.这样的话就实现了显示函数的移花接木
* [' h( `$ ?9 r* g1 ~) z9 [- ]
- m8 s7 R9 [% [1 j+ Y用这种方法,也许以前许多被认为不可能汉化的游戏将成为汉化可能,比如疯人院。 9 _, g1 g' A. M6 D# Q6 {
从理论上来说,这种方法可以汉化一切游戏。目前只是一个思路,尚需试验验证。 |