冒险解谜游戏中文网 ChinaAVG

标题: 谋杀的艺术2的再分析(justtoplay请进) [打印本页]

作者: shane007    时间: 2009-7-11 13:41
标题: 谋杀的艺术2的再分析(justtoplay请进)
我找到一个谋杀的艺术2的俄文补丁,但是用了没出俄文,文字全部消失了。
0 y8 e3 _  k: g! F- B( j5 y我感觉这和中文的现象很象,你能否试试看,如果能把俄文搞出来,应该也可以出中文。$ Y( J5 g! d# a  x3 W, y1 |
& i2 h# o, j$ H6 H5 p$ Z
https://www.chinaavg.com/read.php?tid=151046 B& t/ Q! `5 [6 s! ~  r/ b7 \5 ?

3 {$ a& L8 D3 Q3 Q3 k3 N0 \
, Q4 ~  Q1 T  t* |/ n1 p: X我比较了一下2个_scripts.vbf,感觉这里好像是个比较重要的地方。  q; l4 x* X3 u/ G1 i( p
你也可以把相关文件比较看看。看看能否发现有价值的线索。
7 t/ g8 m7 [: h% _6 X! R( e9 l$ W- N/ v0 B& ?$ L2 d) I# G$ u8 c9 n  C
            CreateFont(name, fnt.def:GetElement(i, fnt.colFace), fnt.def:GetElement(i, fnt.colHeight), fnt.def:GetElement(i, fnt.colWeight), "Proof", italic, underline, 512, 512, DataArray("AdvConfig"):Get("StringTab Dir"))
作者: justtoplay    时间: 2009-7-11 14:12
我只有"神秘纪事3": L8 ]; o9 l9 b/ S( g( F
我用Ollydbg跟踪发现,文字显示的确和player\\BuildingBlocks\\Adventrue.dll有关,中文可能就是被这个东东过滤的吧?! p$ a+ _, ]4 u& v" }
如果要显示中文可能要破解修改Adventrue.dll的l吧?
! s7 [! b  o9 ?% ups:我看不懂俄文,"神秘纪事3"好像没有_scripts.vbf
作者: justtoplay    时间: 2009-7-11 14:18
一点发现,不知道有没有用* f+ ], ~3 r; z6 S5 a# v* a, ]
VxMath.dll,数文字个数的:8 P! Y. ?1 i- \& k, i7 i- X
24297CA1    8A08            MOV CL,BYTE PTR DS:[EAX]
5 y; W! ^0 M0 s8 @$ b24297CA3    83C0 01         ADD EAX,1
/ X# [  w6 y& K0 a$ ~1 L24297CA6    84C9            TEST CL,CL
. L2 P  i0 Z- h' ^, p6 x3 O  R- K1 \24297CA8  ^ 75 F7           JNZ SHORT VxMath.24297CA1
  g' f3 |- {6 e: J1 y24297CAA    2BC7            SUB EAX,EDI              ;文字个数0 b+ @  e: ?; q3 w! V7 H& }
24297CAC    50              PUSH EAX$ F+ d* o4 c' T* M2 `3 [9 F
24297CAD    52              PUSH EDX
0 i. h7 S; m; R2 _3 q% T+ I24297CAE    8BCE            MOV ECX,ESI
7 ~" L, @5 v; W24297CB0    E8 7BFFFFFF     CALL VxMath.24297C30
+ X& q! Z$ b1 {, S5 f
9 s, }! a2 ?* Z: BAdventure.dll中有个gdi32.textoutW的函数,但是在这里设中断好像没反应
作者: shane007    时间: 2009-7-11 14:20
你是说魔蝎典礼吧。
4 J5 M- r$ e; l2 v0 \& J8 b魔蝎典礼和谋杀的艺术2是同一个引擎。
" h" e3 U; q( I1 @现在谋杀的艺术2有了俄文补丁感觉可以着手研究。9 \/ F1 c! E2 z/ c' b- u; Q
其实不需要看懂俄文。只要补丁能打上后出俄文即可。
4 A7 I, s5 B# T3 ]
, A" v+ @- P  S6 ]/ Z# D9 J俄文在线翻译如下,翻译后可以大致看懂
( w  M$ n4 Z9 q3 }8 Z, vhttp://www.qyen.com/online/russian.htm
. t2 T5 \6 P! v! W& [& L; r2 s: F3 ^) V4 [7 F1 N+ O. ?
_scripts.vbf  可能只是文件名不同,魔蝎典礼中也会有个文件是放脚本的。
作者: shane007    时间: 2009-7-11 14:23
对了,你能把2个Adventrue.dll比较一下吗,要汇编级的比较
作者: shane007    时间: 2009-7-11 14:26
魔蝎典礼的脚本文件是这个 datas.vbf
作者: justtoplay    时间: 2009-7-11 14:28
我把俄国那个Adventure.dll覆盖魔蝎典礼3中的,系统就崩溃了。
# s- B6 z/ n: Y/ L, k我去下个art2,我网速很慢,魔蝎典礼3还是去买的碟片~% [4 F+ q% w9 e3 f% n
另外我汇编还刚刚入门呢,论坛有这类高手吗,好希望这两部游戏都能实现汉化。。。
作者: shane007    时间: 2009-7-11 14:28
还有一个思路,你能否在内存里找到字幕,然后下内存断点?
作者: justtoplay    时间: 2009-7-11 14:33
引用第7楼shane007于2009-07-11 14:28发表的  :
. d' ~* ]+ l) Q2 s/ r' h还有一个思路,你能否在内存里找到字幕,然后下内存断点?
可以的,就是在VxMath数文字个数的那个地方中断的,然后一路下去,我就看不懂了,貌似后面还把字幕拷贝了一下,拷贝到内存中的其他地方
作者: shane007    时间: 2009-7-11 14:39
写个中文字幕比如 ABC你好DE,过滤前是ABC你好DE ,过滤后是 ABCDE。6 m3 K' d" R1 `7 Z
只要找到过滤点就算解决一半了。
作者: justtoplay    时间: 2009-7-11 14:40
引用第7楼shane007于2009-07-11 14:28发表的  :! T* a; l( |! y* y! i
还有一个思路,你能否在内存里找到字幕,然后下内存断点?
可以的,就是在VxMath数文字个数的那个地方中断的,然后一路下去,我就看不懂了,貌似后面还把字幕拷贝了一下,拷贝到内存中的其他地方
作者: justtoplay    时间: 2009-7-11 15:10
007,art2的原版Adventrue.dll和原版scripts.vbf上传一下吧
作者: shane007    时间: 2009-7-11 16:38
OK,放上来了。




欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/) Powered by Discuz! X3.2