最近又想到一个汉化的新思路,就是显示函数的移花接木法。 - B) s/ S/ ~7 V* R7 X A/ l( O
8 ]/ D# a. n u" {8 U$ w: I5 |对于一些采用图片字库的游戏,目前的所有汉化方法几乎都失效,因为自己构造一个中文的图片字库目前阶段几乎是不可能的。所以就有了以下这个想法。
5 e5 S* y1 Q+ T4 X' k N9 G
# o& F$ ]# r. R具体思路如下 ; n1 b/ }6 m/ k* O9 n4 S' C1 M
8 X9 f% M1 J. a3 i+ R1.自己编写一个调用ExtTextOutW来显示字符串的试验小程序。 & p: M/ Z, o8 ~/ ?- ?6 @5 A
在窗口里输出一个中文字符串。
+ L2 o& U# _- d0 D1 P) D* {2.用OD进行分析,找到并分析清楚调用ExtTextOutW函数的汇编代码段。
2 |$ {5 w1 c4 p5 L1 u: u3.在要汉化的游戏里用OD找到调用显示函数的地方。
- m! s- p4 t1 D6 g" r w' d, m4.在要汉化的游戏里找到一段空白的代码段,如果空白的代码段不够长的话,要寻找不使用的函数,把它清空。 ' `" u, w9 Q' w7 l) ]4 O* O0 m
5.在空白的代码段出插入ExtTextOutW函数的汇编代码段 ! F+ [) g& y) Y$ k& K( K
6.在游戏里调用显示函数的地方进行修改,使其跳转到ExtTextOutW函数的汇编代码段,并且使字幕和显示位置被正确传递。
% ^, f& o! o+ }* J) O/ y: ~! z7.这样的话就实现了显示函数的移花接木
9 E. | m/ N, g x3 X- `' a+ R Q9 [
用这种方法,也许以前许多被认为不可能汉化的游戏将成为汉化可能,比如疯人院。 ! K8 ~; b6 s7 d0 I4 K
从理论上来说,这种方法可以汉化一切游戏。目前只是一个思路,尚需试验验证。 |