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

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

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

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

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

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

最近又想到一个汉化的新思路,就是显示函数的移花接木法。
2 @4 P/ P- S% R: t0 |2 ?4 s& {3 r3 F$ {; V
对于一些采用图片字库的游戏,目前的所有汉化方法几乎都失效,因为自己构造一个中文的图片字库目前阶段几乎是不可能的。所以就有了以下这个想法。
+ X5 k. G0 R0 x) W# v1 O; q/ [
6 Y- U7 o7 A% z2 l+ w, b具体思路如下
1 p1 X% O* U+ L4 K4 d7 l. M0 i; r
1.自己编写一个调用ExtTextOutW来显示字符串的试验小程序。
  O: E) @" q. z% z0 o5 k在窗口里输出一个中文字符串。
6 J' `$ r8 B0 j- H- r' c+ c' r; b2.用OD进行分析,找到并分析清楚调用ExtTextOutW函数的汇编代码段。
- P3 I- _1 \4 f  H9 V7 }. t3.在要汉化的游戏里用OD找到调用显示函数的地方。 ) r4 B3 q1 ?2 y' `0 d! f
4.在要汉化的游戏里找到一段空白的代码段,如果空白的代码段不够长的话,要寻找不使用的函数,把它清空。 - t# b- f4 a# C/ f% X
5.在空白的代码段出插入ExtTextOutW函数的汇编代码段 * p6 x1 z9 @! J1 A1 F# n
6.在游戏里调用显示函数的地方进行修改,使其跳转到ExtTextOutW函数的汇编代码段,并且使字幕和显示位置被正确传递。
% Z  j' z  P# \7 x3 V' Y, x7.这样的话就实现了显示函数的移花接木
: ]: P2 G( w+ P5 n% }$ y; T
: I0 }/ ?/ w& W% l用这种方法,也许以前许多被认为不可能汉化的游戏将成为汉化可能,比如疯人院。 4 a) U! {$ Y/ d' P8 n% h* ?0 Q- l
从理论上来说,这种方法可以汉化一切游戏。目前只是一个思路,尚需试验验证。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

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

使用道具 举报

板凳
 楼主| 发表于 2008-12-29 11:49 | 只看该作者
引用第1楼wqzss于2008-12-29 10:09发表的 : 9 M1 d2 q. h' ]2 d& c! d/ H
是吗?如果成功的话,有人会疯的。

  y5 \" H' y  x% P: F& ]  _2 a% h3 W( W2 U! ?
具体的实现方法就要慢慢研究了。, c) s5 b; K6 l' Q1 Y
不过可能性完全是有的。
回复 支持 反对

使用道具 举报

地板
发表于 2008-12-29 18:06 | 只看该作者
来探讨一下。我觉得要因游戏而异。大方向没问题,主要是在一些细节处不好处理。1 J) A7 K% [% v% D7 o9 {# B
对于   “3.在要汉化的游戏里用OD找到调用显示函数的地方。”- @# E# U! t6 T6 W: R
图片字库对应的都有个码表来标明每个字符的坐标。坐标用来标明字符的位置和宽高数据。
0 X8 j. m0 |& a) q& s4 f! |- n" D游戏中再把坐标数据进行运算,满足显示的位置长度颜色等各种需要。到这里‘显示函数’已经是WIN32API或者DX的图片处理函数,已经和字符没有任何瓜葛了.所以在哪里跳不太好选。尤其位置颜色等数据分散的代码段。
' t1 T; q! R$ a% j8 [7 g" M
0 e8 g4 G4 g5 ^3 v" b" |, S8 y! J. y. A& s  E3 @" d
另外,用ExtTextOutW前要先检查,没有的话必须要先在PE文件函数表里添加。还有速度匹配问题,文字是否会落后显示?
0 q( N9 g4 C* H. ?9 m& f7 q3 U% j0 R3 K6 @) \
觉得如果能顺利找到图片字库 、编码表、文本, 直接扩充汉字库修改单字节倒还容易些。
回复 支持 反对

使用道具 举报

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

使用道具 举报

6#
 楼主| 发表于 2009-1-5 20:58 | 只看该作者
引用第3楼zhang336970于2008-12-29 18:06发表的  :
6 K1 _6 Q, `' {  |. _( ]" Q来探讨一下。我觉得要因游戏而异。大方向没问题,主要是在一些细节处不好处理。
' u0 m, h9 f4 g' R对于   “3.在要汉化的游戏里用OD找到调用显示函数的地方。”4 _2 d8 @9 W" ]; g: a7 j! O8 y1 t
图片字库对应的都有个码表来标明每个字符的坐标。坐标用来标明字符的位置和宽高数据。
& W; S3 U" U' T游戏中再把坐标数据进行运算,满足显示的位置长度颜色等各种需要。到这里‘显示函数’已经是WIN32API或者DX的图片处理函数,已经和字符没有任何瓜葛了.所以在哪里跳不太好选。尤其位置颜色等数据分散的代码段。2 {/ f$ N- _) g( M! j3 i2 v
6 q# V/ |3 R% ]% V6 C
.......
6 R3 X; x6 `; ?( U! g5 q' p; Z0 r
6 ^$ Y- S+ h. o) I
确实因游戏而异。具体实现有很多技术细节要攻克。2 K9 L/ Q, V7 r* L+ s& D, I
ExtTextOutW我觉得问题不大,没有的话可以加一个段。ExtTextOutW虽然速度不快,但毕竟不是3D动作游戏,夜就是用ExtTextOutW输出文本的。
8 Q- x! e  A, h希望常来发表你的看法。
& N. c4 ~/ I! _/ o+ _5 e$ b: a9 @, b7 O  h2 K1 O, _( }) s
to prefix7 Q4 _6 ]+ m' Z0 c1 i, B
把游戏用工具窗口化后,用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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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