最近又想到一个汉化的新思路,就是显示函数的移花接木法。 0 S& {) e1 l, c- L* }/ d$ r2 s
3 D Q( M9 c5 s( c+ {对于一些采用图片字库的游戏,目前的所有汉化方法几乎都失效,因为自己构造一个中文的图片字库目前阶段几乎是不可能的。所以就有了以下这个想法。
5 P( P+ y* m7 |# @4 f
1 G4 r) ]& ~0 \$ J5 J2 a0 {6 X4 f具体思路如下 , z1 i" w8 n4 E7 r' _
9 F" a3 I, x9 O; U4 f+ R
1.自己编写一个调用ExtTextOutW来显示字符串的试验小程序。 . u( I6 L4 j0 u/ k" S$ D
在窗口里输出一个中文字符串。
! D3 i4 N9 A8 g, }* M: [. B2.用OD进行分析,找到并分析清楚调用ExtTextOutW函数的汇编代码段。
8 Q. g4 e0 H2 V5 J, U+ A7 _3.在要汉化的游戏里用OD找到调用显示函数的地方。
8 v& F* ^0 G- ~4 X% r/ x6 b$ x2 H4.在要汉化的游戏里找到一段空白的代码段,如果空白的代码段不够长的话,要寻找不使用的函数,把它清空。 - F+ `+ [# G A: {# N
5.在空白的代码段出插入ExtTextOutW函数的汇编代码段
) ^- e- e: w+ c4 b+ D6.在游戏里调用显示函数的地方进行修改,使其跳转到ExtTextOutW函数的汇编代码段,并且使字幕和显示位置被正确传递。
$ O' }1 y0 ^3 |6 D( K7 A7.这样的话就实现了显示函数的移花接木 / C- ~, s" x; \! ~1 w; c5 r8 r
" s. U8 K- ~; y0 ]; o; G& {用这种方法,也许以前许多被认为不可能汉化的游戏将成为汉化可能,比如疯人院。 8 n, j' e6 @4 R
从理论上来说,这种方法可以汉化一切游戏。目前只是一个思路,尚需试验验证。 |