首页
社区
课程
招聘
[求助]汉化一日文老win95游戏遇到问题
发表于: 2013-9-18 16:29 10133

[求助]汉化一日文老win95游戏遇到问题

2013-9-18 16:29
10133
汉化一日文老win95游戏遇到问题,已将将代码改为如下形式,现在日文确实是乱码了,但翻译简体中文进去后执行游戏还是乱码,不知道哪里还有问题了,在此请教各位大大了。

005CEE2A  |> \68 CC8A6000   push    00608A>; /FaceName = "宋体"
005CEE2F  |.  33DB          xor     ebx, e>; |
005CEE31  |.  53            push    ebx    ; |PitchAndFamily => DEFAULT_PITCH|FF_DONTCARE
005CEE32  |.  53            push    ebx    ; |Quality => DEFAULT_QUALITY
005CEE33  |.  53            push    ebx    ; |ClipPrecision => CLIP_DEFAULT_PRECIS
005CEE34  |.  53            push    ebx    ; |OutputPrecision => OUT_DEFAULT_PRECIS
005CEE35  |.  68 86000000   push    86     ; |CharSet = 134.
005CEE3A  |.  53            push    ebx    ; |StrikeOut => FALSE
005CEE3B  |.  53            push    ebx    ; |Underline => FALSE
005CEE3C  |.  53            push    ebx    ; |Italic => FALSE
005CEE3D  |.  53            push    ebx    ; |Weight => FW_DONTCARE
005CEE3E  |.  53            push    ebx    ; |Orientation => 0
005CEE3F  |.  53            push    ebx    ; |Escapement => 0
005CEE40  |.  6A 08         push    8      ; |Width = 8
005CEE42  |.  6A F2         push    -0E    ; |Height = FFFFFFF2 (-14.)
005CEE44  |.  BE 01000000   mov     esi, 1 ; |
005CEE49  |.  FF15 CCC26100 call    dword >; \CreateFontA

[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (16)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
本来想造福军事游戏迷们(由于此游戏的敏☆感原因就不说名字了,只能说到目前为止该游戏没有任何人做过正真的汉化工作,,,),可是能力有限,虽然现在游戏文本内容已经汉化到90%了,去掉了256色限制,xp,win7下均可正常运行了,但是技术能力有限,遇到问题无法进行了。。。
2013-9-18 16:44
0
雪    币: 340
活跃值: (957)
能力值: ( LV9,RANK:220 )
在线值:
发帖
回帖
粉丝
3
hook MultiByteToWideChar看看。
2013-9-18 17:29
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
游戏内字符串为ANSI ASCII编码字符,用不到widechar吧~
2013-9-18 17:53
0
雪    币: 1234
活跃值: (317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
伟大的汉化作者啊。
2013-9-18 17:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
仁兄谬赞了,还没有做成时什么贡献都没有呢,只是平时玩着他人的汉化作品时心里总想着该如果回馈他人而已。

现在游戏中加密的文本部分也已经解密出来,但是无论如何修改执行游戏后还是乱码,不知道哪里的问题没有解决。

目前状态:日文字符乱码、简体中文字符乱码、英文字符和数字显示正常。
2013-9-18 18:09
0
雪    币: 1234
活跃值: (317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我猜想的,先用c++写个CreateFontA的函数,实现显示日文和中文的,然后逆向,比对,看看哪里不一样了。
2013-9-18 18:19
0
雪    币: 1234
活跃值: (317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
如果是CreateFontA函数的参数问题,比对还是比容易发现出来的。
2013-9-18 18:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这个方法已经试验过了,很多日文程序像我上面改了就可以正常显示简体中文了,日文程序可以很好的实现汉化,但这个游戏不行,现在修改后,游戏里原来的日文字符串确实是以简体的乱码显示的,但汉化输入进去的简体也显示乱码,类似半个简体字符的乱码,不知何解?
2013-9-18 18:29
0
雪    币: 231
活跃值: (2631)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
10
搜一下textout?
2013-9-18 22:29
0
雪    币: 1234
活跃值: (317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
编码的问题?会不会?会不会是汉字字符串的起始位置不对?差了一个字节,两个字节的问题,导致后面全部错乱
2013-9-19 01:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
现在大概估计确定是日文半角、全角的问题引起的这个乱码,日文程序把我输入进去的简体中文代码误认为是日文半角字符了,所以程序显示出乱码,而原来没有修改的日文代码显示为简体中文的乱码。
但是这个半角、全角的问题又该如何解决呢?
2013-9-19 08:48
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
你这个目测是字符编码检测的问题,很多日文游戏是对每一个字符单独TextOut的,这样就需要判断当前字节是一个双字节编码的开始还是一个单纯的ANSI编码,而他们多半不是用WindowsAPI而是自己实现的
解决办法就是替换掉那一部分的汇编代码,简单的判断是否大于7Fh即可
2013-9-20 11:13
0
雪    币: 1234
活跃值: (317)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
高人,
2013-9-22 09:23
0
雪    币: 559
活跃值: (334)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
支持下 也在汉化个军事游戏 也是汉字乱码研究中
2013-12-28 02:15
0
雪    币: 116
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
。。。楼主 字体。。。。字体文件。。游戏用的自己的字体文件

所以。。。。。
2013-12-28 04:54
0
雪    币: 252
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
13楼正解,很多欧美游戏也是这么搞的。
2013-12-28 10:11
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册