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

建议 【Directx9游戏汉化 #7】莫嘉娜船长与金海龟(Captain Morgane and the Golden Turt...

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

[建议] 【Directx9游戏汉化 #7】莫嘉娜船长与金海龟(Captain Morgane and the Golden Turt...

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

【Directx9游戏汉化 #7】莫嘉娜船长与金海龟(Captain Morgane and the Golden Turt...

本帖最后由 shane007 于 2023-8-26 16:14 编辑
/ ~$ ]2 l0 a5 ]' A! ~0 a
% a* [8 c! a9 g我用代理dll的方式,让这个游戏窗口化了。% k8 u6 j- K6 L% p" E8 E$ l
随后用cheat engine(用其他工具老是出异常,无法正常调试)在内存中检索一句字幕,下内存方位断点。6 A5 x: u5 ~0 Y8 l% J) o: x
在以下地方断下。
# @, E2 y! \0 n: _' R5 j
" s( L1 J' ^: ]4 L2 y$ V
  1. CaptainMorgane.exe+96F5 - 83 C0 01              - add eax,01
    % q) G- w$ u. s, z
  2. 地址004096F5
复制代码

0 u4 F1 t* J3 {( h7 m1 r( m; q. f$ w
随后,在ida pro中查看伪代码,感觉这是一个字符串长度的check函数,
) \2 x5 J% {- J- y% R9 v真正的字幕显示函数需要追到上一层,后续再继续分析
- t- q# h% @) ]$ V2 e! K. h  b: t
( b4 n$ V; d! Y  {
  1. 2 c4 E& ~5 x2 L3 j( G% e  q
  2. void __usercall sub_409670(char a1@<dil>, const char *a2@<esi>)! M7 Y. o# |3 ]7 ]) t5 C- X* a
  3. {
    & Y% D: ^+ D! h; y" f
  4.   _DWORD *v2; // eax
    / E: O& n, r+ p0 T8 E! U
  5. ) K" J3 A7 Y/ J2 o
  6.   if ( !dword_5D9B50 )
    + H1 z( {& s. N
  7.   {# B6 ?* w" j; Z, _" K- H+ ?; t; _6 ~
  8.     if ( !a2 )2 n7 D9 N  [' y3 m) r3 P8 J- g
  9.       goto LABEL_7;
    % m! `/ K, s/ n2 X! \% I0 u
  10.     if ( strlen(a2) >= 0x80 )) D) K+ N$ p: }
  11.     {
    3 y5 b& p1 ^" b$ }
  12.       sub_51AEC6("ASSERT\n", a1);
    ( F* N$ E+ q# g+ U% n
  13.       sub_51AEC6("file:      %s(%d)\n", (unsigned int)"..\\..\\Source\\Dialogs\\Common\\DialogInterface.cpp");. W. @& L, I% G' I$ ^! Y; g
  14.       sub_51AEC6("function:  %s\n", (unsigned int)"DialogInterface::SetCaptionDisplayed");) j5 F1 [) ]5 Y# i# A
  15.       sub_51AEC6("condition: %s\n", (unsigned int)"sCaption==NULL || strlen(sCaption)< NB_CHAR_MAX");
    , d8 `7 x. V4 `' s9 |% T7 Q
  16.     }
    ' T2 g- E  O5 R5 L
  17.   }
    ) w/ }3 W. d: {& {; S- j+ V' K
  18.   if ( a2 )
    # K' h5 M( I8 z7 t# u! S
  19.   {+ E/ d0 ~/ }% J
  20.     strcpy((char *)&unk_5D3370, a2);) O! x+ p# w5 z: v+ z/ B
  21.     v2 = (_DWORD *)dword_5D3E6C;
    # s% n% e3 @) w+ K
  22.     byte_5D33F0 = 1;
    6 M8 _+ o% C8 }. x. Y$ }. [9 g
  23.     *(_BYTE *)(dword_5D3E6C + 4) = 1;/ Z4 L, u2 N7 S% _) L$ ]( k
  24.     v2[2] = 0;
    9 q, z1 l! z1 d, A3 @  ?9 y6 c1 e
  25.     v2[4] = 0x100000;
    ; G# L  W5 a# ]' d3 t
  26.     v2[3] = 0;; {3 D1 m# a5 ]  G* a! `! I& @
  27.     v2[5] = 786432;
    6 V  Z" F) a1 f, L" P
  28.     return;# S% i* ~4 T& c1 F
  29.   }8 `* r% r0 r& U% |: U) Z" }& x
  30. LABEL_7:
    2 @( T; r5 j) T5 z1 t
  31.   byte_5D33F0 = 0;# b$ L" i1 \- X, F
  32. }
复制代码
  1. .text:004096EB ; ---------------------------------------------------------------------------
    6 M& f( I0 p# o3 h3 l4 e
  2. .text:004096ED                 align 10h6 q2 y% ?7 Q$ m/ }
  3. .text:004096F0
    7 F/ q7 P3 \* C* F! l5 Y; i
  4. .text:004096F0 loc_4096F0:                             ; CODE XREF: sub_409670+7B↑j+ [( i8 ~9 A& Z
  5. .text:004096F0                                         ; sub_409670+8A↓j
    ( J2 H  @5 I/ O6 M
  6. .text:004096F0                 mov     cl, [eax]
    + P* ?' e$ C; Y- F' S
  7. .text:004096F2                 mov     [edx+eax], cl# S7 U( ~0 X% B  I; N* |) s
  8. .text:004096F5                 add     eax, 1
      l4 e6 M+ A9 Z* l, t
  9. .text:004096F8                 test    cl, cl0 \7 Z, d; `) J8 O: y6 G
  10. .text:004096FA                 jnz     short loc_4096F03 V8 m6 {1 W& X# {: c# q
  11. .text:004096FC                 mov     eax, dword_5D3E6C8 F) n6 s' k  `! n1 G0 ~
  12. .text:00409701                 mov     byte_5D33F0, 1
    ; R6 @# f, e9 B2 H1 M2 [2 p
  13. .text:00409708                 mov     byte ptr [eax+4], 1
    5 `9 g4 s/ U5 H* H+ S1 y
  14. .text:0040970C                 mov     dword ptr [eax+8], 0
    * _  F" \  o/ C( T. Z
  15. .text:00409713                 mov     dword ptr [eax+10h], 100000h$ _' Y3 C7 v) n$ q5 d0 T3 U3 B
  16. .text:0040971A                 mov     dword ptr [eax+0Ch], 07 @5 C- M3 y; i5 ^7 z
  17. .text:00409721                 mov     dword ptr [eax+14h], 0C0000h
    . _! ~5 f0 t' W8 m7 N- }: r/ e
  18. .text:00409728                 retn% k6 _! }6 _) m2 q
  19. .text:00409729 ; ---------------------------------------------------------------------------
复制代码
6 e# ^5 Y( [9 p) Y8 j- B7 s
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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