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

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

[复制链接]
查看: 285|回复: 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 编辑 ) X6 K9 {3 M5 R) P- L

% w9 d$ X9 [! A我用代理dll的方式,让这个游戏窗口化了。
1 Z5 W; m7 w" l/ z* t- k' F- s随后用cheat engine(用其他工具老是出异常,无法正常调试)在内存中检索一句字幕,下内存方位断点。/ L3 M$ ?8 e; x5 ]% F
在以下地方断下。
- F2 a3 C# H6 Y, J' e" S5 h2 d
+ P- g, z+ H8 `2 k. ^" J
  1. CaptainMorgane.exe+96F5 - 83 C0 01              - add eax,01
    : I2 x7 a7 M; u9 t5 @
  2. 地址004096F5
复制代码

8 C! e7 c/ H1 |% ~, C/ p  Y; o! P# c* A0 |  S" j: @
随后,在ida pro中查看伪代码,感觉这是一个字符串长度的check函数,; d3 [2 n- t- t
真正的字幕显示函数需要追到上一层,后续再继续分析
+ D1 v2 L3 v/ u/ ~. U7 Y. A2 O5 |2 z

  1. 3 t: Z) p7 M6 |" L! D9 }
  2. void __usercall sub_409670(char a1@<dil>, const char *a2@<esi>)% P7 R, \& x1 n/ c
  3. {7 l+ C3 y( z( U% ^+ {$ U
  4.   _DWORD *v2; // eax! m. ~1 x  V* ~6 d

  5. ! w- P6 a& S+ o" s) M% \# K
  6.   if ( !dword_5D9B50 )
    & L) S4 s% i5 b9 x( l0 V% F; m
  7.   {" }7 e( w: f# H  m/ b
  8.     if ( !a2 )
    " A5 D" q, Z, Y# V2 w
  9.       goto LABEL_7;
    ! g' w" z9 ?8 d: L/ p
  10.     if ( strlen(a2) >= 0x80 )" Z- [$ g$ Y  j3 s$ W4 e
  11.     {
    4 q9 a/ T: T6 x& R8 W
  12.       sub_51AEC6("ASSERT\n", a1);( p$ e% j# d4 p: g+ K* N
  13.       sub_51AEC6("file:      %s(%d)\n", (unsigned int)"..\\..\\Source\\Dialogs\\Common\\DialogInterface.cpp");
    2 `8 M2 f+ C3 i1 Q) Q
  14.       sub_51AEC6("function:  %s\n", (unsigned int)"DialogInterface::SetCaptionDisplayed");
    $ ]( {5 _6 Z9 I+ F1 J1 L
  15.       sub_51AEC6("condition: %s\n", (unsigned int)"sCaption==NULL || strlen(sCaption)< NB_CHAR_MAX");
    1 J9 V+ d4 G) M% M5 h4 K
  16.     }/ a: y1 x8 `9 M4 w# ^$ y
  17.   }
    1 E* T1 o4 N( s) X
  18.   if ( a2 )
    0 P. @, F' |8 X9 Z
  19.   {% w% y% `  b' D" ^( a9 h+ c
  20.     strcpy((char *)&unk_5D3370, a2);7 I1 Z5 ^- h( {0 @0 C
  21.     v2 = (_DWORD *)dword_5D3E6C;. `# ]% ^1 {4 }) f' |
  22.     byte_5D33F0 = 1;% Z3 A- G8 n1 s% @4 k9 H6 }* z  f2 A
  23.     *(_BYTE *)(dword_5D3E6C + 4) = 1;
    5 V$ ?+ w9 s% E) D* F5 q; b
  24.     v2[2] = 0;
    8 U/ f, @0 |( j( `& F! N
  25.     v2[4] = 0x100000;: B" _8 X  H" h% y% i4 S
  26.     v2[3] = 0;
    , d' [7 {# e) a$ P$ V" M
  27.     v2[5] = 786432;  m; _1 o) a9 X0 b
  28.     return;
    2 g& z  @4 S* d+ w8 n  U
  29.   }
    # M" e2 N; j$ f% `  B; N3 P) Z* n+ I) K
  30. LABEL_7:$ l: O$ [' x4 R& g
  31.   byte_5D33F0 = 0;
    3 @6 l4 ?3 r: R1 |& {2 u. z
  32. }
复制代码
  1. .text:004096EB ; ---------------------------------------------------------------------------3 z2 q1 z, v5 b8 s
  2. .text:004096ED                 align 10h
    8 _' M& y8 t6 ~2 I7 e
  3. .text:004096F0
    7 v+ p/ _# m8 H0 o
  4. .text:004096F0 loc_4096F0:                             ; CODE XREF: sub_409670+7B↑j
    2 t0 i9 B% l5 \; Y/ r" u
  5. .text:004096F0                                         ; sub_409670+8A↓j: c: h$ Q+ E. i& x& Y/ Q2 j
  6. .text:004096F0                 mov     cl, [eax]% t- N; I# ^0 q! h
  7. .text:004096F2                 mov     [edx+eax], cl8 l6 V  m1 ~  h3 X7 x. }
  8. .text:004096F5                 add     eax, 1, X0 Z5 T4 \) k
  9. .text:004096F8                 test    cl, cl1 s6 Z, a. G: O' @* f
  10. .text:004096FA                 jnz     short loc_4096F0
    & K5 s5 m. R6 X+ Z: ]
  11. .text:004096FC                 mov     eax, dword_5D3E6C: g: E+ J$ X8 z8 `- K
  12. .text:00409701                 mov     byte_5D33F0, 1
    * j' N; G; `3 V
  13. .text:00409708                 mov     byte ptr [eax+4], 15 x: g5 Z4 X/ P: x1 b
  14. .text:0040970C                 mov     dword ptr [eax+8], 0
    + `2 K, z! X6 l. S1 T
  15. .text:00409713                 mov     dword ptr [eax+10h], 100000h
    4 v5 }1 w. w- e" D1 B$ g; K
  16. .text:0040971A                 mov     dword ptr [eax+0Ch], 0( ?% ?: A  @! E- `# j9 X
  17. .text:00409721                 mov     dword ptr [eax+14h], 0C0000h+ i' z. Y8 Z  V4 q+ ]
  18. .text:00409728                 retn: Z6 A" r7 K5 g9 U2 N0 h7 K' t  @
  19. .text:00409729 ; ---------------------------------------------------------------------------
复制代码
  L5 g9 ^+ q0 Y
分享到:  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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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