设为首页收藏本站官方微博

【汉化资料】汉化新思路----显示函数的移花接木

[复制链接]
查看: 1978|回复: 6
打印 上一主题 下一主题

【汉化资料】汉化新思路----显示函数的移花接木

跳转到指定楼层
楼主
发表于 2008-12-29 09:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

【汉化资料】汉化新思路----显示函数的移花接木

最近又想到一个汉化的新思路,就是显示函数的移花接木法。 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
从理论上来说,这种方法可以汉化一切游戏。目前只是一个思路,尚需试验验证。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2008-12-29 10:09 | 只看该作者
是吗?如果成功的话,有人会疯的。
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2008-12-29 11:49 | 只看该作者
引用第1楼wqzss于2008-12-29 10:09发表的 :
( B- W( G! h& X! Y: O是吗?如果成功的话,有人会疯的。
0 m, l2 P! F) Z9 l$ Z5 l$ [

. l8 P; Q: e% Z" Y( n具体的实现方法就要慢慢研究了。6 v  b! z- y( f1 A. y' I8 G  t
不过可能性完全是有的。
回复 支持 反对

使用道具 举报

地板
发表于 2008-12-29 18:06 | 只看该作者
来探讨一下。我觉得要因游戏而异。大方向没问题,主要是在一些细节处不好处理。
3 R6 O8 s& K! m9 ^/ I对于   “3.在要汉化的游戏里用OD找到调用显示函数的地方。”/ ?$ K. t* L8 ?& n7 P
图片字库对应的都有个码表来标明每个字符的坐标。坐标用来标明字符的位置和宽高数据。
2 c+ U! w+ W7 H- ^. D游戏中再把坐标数据进行运算,满足显示的位置长度颜色等各种需要。到这里‘显示函数’已经是WIN32API或者DX的图片处理函数,已经和字符没有任何瓜葛了.所以在哪里跳不太好选。尤其位置颜色等数据分散的代码段。) V# g) x! i! q! p" L

+ ~  T! x/ Y( e" G% E! r$ X8 K! E$ \
6 y$ \# P$ g+ k$ F另外,用ExtTextOutW前要先检查,没有的话必须要先在PE文件函数表里添加。还有速度匹配问题,文字是否会落后显示?
1 t' G* q4 q9 H7 A# N6 M$ N
2 K% \8 X: @- A$ b/ u& Z觉得如果能顺利找到图片字库 、编码表、文本, 直接扩充汉字库修改单字节倒还容易些。
回复 支持 反对

使用道具 举报

5#
发表于 2008-12-30 01:13 | 只看该作者
OD调试全屏程序不难吗? [s:3]
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2009-1-5 20:58 | 只看该作者
引用第3楼zhang336970于2008-12-29 18:06发表的  :
: b* J& ~. |, T( m( Y, a4 ^( n来探讨一下。我觉得要因游戏而异。大方向没问题,主要是在一些细节处不好处理。+ A9 B5 F, w" I3 t
对于   “3.在要汉化的游戏里用OD找到调用显示函数的地方。”' d. `: \# V$ }4 m; l2 V! q
图片字库对应的都有个码表来标明每个字符的坐标。坐标用来标明字符的位置和宽高数据。
/ A5 g/ S2 L9 v8 |  Q" u8 a+ {游戏中再把坐标数据进行运算,满足显示的位置长度颜色等各种需要。到这里‘显示函数’已经是WIN32API或者DX的图片处理函数,已经和字符没有任何瓜葛了.所以在哪里跳不太好选。尤其位置颜色等数据分散的代码段。
# d8 U5 T1 `- \: M# h! \  I- ]% y6 s* O
.......

1 m9 h1 h' E7 a! K( u, P9 h. @0 `2 Y( R% k4 B. a7 Q
确实因游戏而异。具体实现有很多技术细节要攻克。
4 V+ B0 ~1 x; @% c. H: ^7 v  IExtTextOutW我觉得问题不大,没有的话可以加一个段。ExtTextOutW虽然速度不快,但毕竟不是3D动作游戏,夜就是用ExtTextOutW输出文本的。* I7 H# u9 R; n2 \
希望常来发表你的看法。; e( Z( `# @7 w2 v' M

' c  K  c7 ^: j* Yto prefix
/ W1 P( y& m  Y5 g& G把游戏用工具窗口化后,用OD调试即可.
回复 支持 反对

使用道具 举报

7#
发表于 2009-3-18 03:14 | 只看该作者
貌似你就是认死hook了....God....
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表