最近又想到一个汉化的新思路,就是显示函数的移花接木法。
" }5 q2 ~" X0 }7 i4 i* P2 S8 V$ @# k h! |8 u# L; h
对于一些采用图片字库的游戏,目前的所有汉化方法几乎都失效,因为自己构造一个中文的图片字库目前阶段几乎是不可能的。所以就有了以下这个想法。
: u( @# _" q4 l" O0 i2 K G$ W
: ]+ ~! L& `) y; n/ l5 C具体思路如下 9 e/ Q; m9 A/ l' E
7 V, E6 J0 p4 n' V" q, i
1.自己编写一个调用ExtTextOutW来显示字符串的试验小程序。 ) S3 M& b' F! Q/ t; `
在窗口里输出一个中文字符串。
) `8 x* N0 ~- C; q% P2.用OD进行分析,找到并分析清楚调用ExtTextOutW函数的汇编代码段。 d9 m8 {/ A, W' g) j6 Y7 R
3.在要汉化的游戏里用OD找到调用显示函数的地方。
4 w: l+ g* Z. j" M7 G; f4.在要汉化的游戏里找到一段空白的代码段,如果空白的代码段不够长的话,要寻找不使用的函数,把它清空。
! X/ n7 l. p' m5.在空白的代码段出插入ExtTextOutW函数的汇编代码段 , D z& I( _# @5 O; {6 I y( Y e
6.在游戏里调用显示函数的地方进行修改,使其跳转到ExtTextOutW函数的汇编代码段,并且使字幕和显示位置被正确传递。
1 o9 F, H. _: W/ v- x7.这样的话就实现了显示函数的移花接木 ; ~+ A+ @; ]* U( i$ n% B
# w! F( d+ H i2 T; [用这种方法,也许以前许多被认为不可能汉化的游戏将成为汉化可能,比如疯人院。 . d8 j* w$ y/ O$ P
从理论上来说,这种方法可以汉化一切游戏。目前只是一个思路,尚需试验验证。 |