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

汉化资料 静物2 汉化分析专用贴

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

[汉化资料] 静物2 汉化分析专用贴

跳转到指定楼层
楼主
发表于 2009-4-3 07:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

静物2 汉化分析专用贴

老外放出了一个静物2数据文件样本。
, U% s5 w7 u  a& Rhttp://rs706.rapidshare.com/files/216482719/Sl2data.zip ' _3 |1 r# e$ `- E) c* t
有巳さ呐笥芽梢匝芯恳幌隆?
) W" z" o" {/ H2 D8 v% U7 Q, d3 ^+ Y: ^, r" }8 f
--------------------------------------------------
( n" w+ J9 w0 ?8 v& L0 ^" ~8 ^2009.4.4 第1次更新   o. a4 f8 C2 F; y3 g
老外放出了静物2包文件的异或key,据说解密以后文件的格式很简单。 6 b0 f3 b2 c. d& L* }3 U% L+ N
2923BE84E16CD6AE529049F1F1BBE9EB ; i; X/ u, z. X3 _* V' l* p
: S% ]: {- f* n) }. L
--------------------------------------------------
$ ~9 F! Z. l' d4 N! h6 T( G1 m( ~; N/ h2009.4.4 第2次更新
/ W9 s0 h0 T! i0 U- k( o3 o6 {测试了一下上面的异或key,结果正确。解密后的文件为不压缩的简单格式包文件。 , P, O7 X8 C. i! X; P
放上异或解密工具,在工具包里有一个例子,异或key就在key.txt中。 ; J6 B" |9 B! R+ `, y& s8 g2 t9 p7 a

6 E. g. c  ]  P0 }- p1 ^- E- q--------------------------------------------------
  ]) w% F& V! d2 D( _2009.4.4 第3次更新 0 o9 R! \) V) v$ q( @0 A0 c
静物2采用wild-dna公司开发的3D引擎。网址如下。 ; D2 S; q. p5 O3 n( N* j! e
http://www.wild-dna.com/main.html ! H" J' S2 l1 W. A. X, m  J4 a* l% i
http://www.gamecostudios.com/xcengine.html
& w$ a' f0 y/ O4 A: i& X( i
9 D+ L4 k2 i0 W; ?8 C-------------------------------------------------- 8 H. l! `& }; K9 }# x1 g- K
2009.4.8 更新 ( X( y& M2 T' k$ h
老外公布了静物2包文件的格式。
$ }8 j4 v$ H: j3 P& S3 {0x04 //"GMGB" # m6 O; P# C  S' n2 b
0x04 //Number of files 1 T% S6 l) t& H& b7 t) A

% T5 q# x/ u2 T: m( C, Bfor each file { " c" _; B% t. n' w, |& R% k
. X7 z! b  N$ i$ ^
0xX path and filename ) m2 X1 ]& ^5 {9 ?
0x01 0x00 , }) h$ X/ `! S9 `% |
0x04 file length
' u$ i! W: X) A4 T0x01 0x00
$ V& V0 \! o& f; Q3 u0 o}
# U. P2 `. d, H. H& s
5 q2 x9 B$ c- b. T, u& k% U--------------------------------------------------
: j1 L5 z; ?9 y; M2009.4.17 更新 + o* d# L% H% l7 P% f4 N" R
老外动作很快,通用解包器quickbms发布以后很快发布了静物2的解包脚本。 . D$ f5 G+ _& F# @, K- _7 t4 S; n
用法如下 5 k! |+ _: O7 v. U& ^2 R# @
quickbms.exe stillife2.bms c:\Sl2data.dat c:\folder " r# C4 z- D+ c* p" D1 j, M

6 _. H2 H7 q7 I' q--------------------------------------------------   Q7 \' p& ^% y; V9 u8 K* z
2009.5.16 更新
! X9 C. z- _/ b7 g' J$ Z最近又有一些细小但是可能比较重要的发现。
2 A4 \$ ~: h7 b) g; {6 F用filemon跟踪了一下发现这个游戏支持读取解包后的字体文件Sl2fnt.dat。 ) |( a7 {% l8 i8 W
第2个发现可能很重要,我把Sl2fnt.dat改名后发现游戏竟然能正常运行,此时使用了一种奇怪的字体。此种字体和原来的字体明显不同,并且显示有些不正常。我怀疑是某种系统的TTF字体被强制用不正确的参数显示而导致的。如果真是这样的话,我们无疑看到了一丝汉化的曙光。 1 G# O+ G2 p3 I. L6 Q6 B( C! }
弄清楚这谜一般的字体来源是接下去要研究的课题。 ( g2 F+ V* \" v: L9 K4 N2 G  z
下面是此字体画面抓图。 5 ?; u- G5 c2 h8 f
3 e% E9 Y& [$ t/ ^0 N9 T

5 V8 _1 F" ^; w, s4 ~--------------------------------------------------
( ?, e# `! Z' x' O3 l$ n2009.6.26 更新 ) G+ r0 ^4 K1 Y. O- \1 H- O" V
经过老外的分析,把Sl2fnt.dat文件删除以后,游戏会自动寻找系统字体arial.tff。 1 i8 V& M( @" G$ N# e( ]
老外还放上了清晰的抓图。就是说我们目前已经可以把静物2转化为一个使用TTF字库的游戏,如果有办法HOOK显示函数的话,也许可以用比较简单的方法实现汉化。
" n% R* q; X1 o1 M6 Q放上抓图
  v) v% h# G3 X8 ^) O& y+ ^: T 0 h. K7 F' p% T4 s! ~

: }  Y8 S2 A1 j. q- D4 ?- n4 ~" N--------------------------------------------------
$ A* |+ _  x9 ^6 b2009.6.27 更新
) t+ c- I2 T0 Y6 d: P4 r我在另一台电脑上试验了一下,可以显示出正常的英文。
  H" U: E1 z- t' Y$ Q我用上面的异或工具解密了字幕文件Sl2data.dat,然后写入一个中文字,再用异或工具异或一次。发现只有这个字的低字节被显示出来,高字节被过滤了。 4 n& y6 B: V' V
我觉得分析到这里基本可以知道实现汉化的方法了,就是用OD分析一下,找到那个过滤点,使游戏一下子读取2个字节,这样游戏应该就能显示出中文。 / \' i4 w) {" a, t0 R4 A1 J
肥牛如果有时间的话,希望能尝试一下。拜托了。 - J. u" X% L% K9 ~$ }$ \
需要修改的可能是xcEngine.dll这个文件。
8 v% U4 k" E8 Y
# N+ K0 u. l  ~: v, N; o抓图如下,显示出来的是 汉 这个字的低字节部分
' h& y3 J+ b! ]: O
4 o4 z8 q* M7 {
- A; V$ w/ u9 Z" U--------------------------------------------------
. `/ H9 |" }" C! h% ^2010.2.2 更新
4 y# ~1 V% m, t; e/ l9 X我电脑上的静物2,在一开场2人打完电话以后,就会崩溃。
" t, C! _0 K* ?$ b& D4 j1 ]研究了一段时间,发现可能是我显卡较老,只有128M显存的缘故。
8 l9 @. o$ b+ D, ]+ L把option的Shadow Quality改为low以后,解决了上述的崩溃问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
 楼主| 发表于 2009-4-4 07:00 | 只看该作者
2009.4.4 更新
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2009-4-8 11:35 | 只看该作者
2009.4.8 更新
回复 支持 反对

使用道具 举报

地板
发表于 2009-4-15 20:07 | 只看该作者
又来异或...还是数组操作吧,没有用IDE...007老大检查咯& m! a* B3 o7 f! K! E" |7 C
那个提取的方法还是和之前那个riper一样就可以了吧
& R8 V! r3 y' t$ g0 b# P1 c4 C/ d" g8 V
  1. Private Const cKey As String = "2923BE84E16CD6AE529049F1F1BBE9EB"
  2. Private Sub cmdCommand1_Click()
  3.     Dim lngFileNum As Long, lngLength   As Long, strFilePath As String, bData()     As Byte
  4.     strFilePath = App.Path & "\\1.dat"
  5.     lngLength = FileLen(strFilePath)
  6.     lngFileNum = FreeFile
  7.     If lngFileNum = 0 Then Exit Sub
  8.     ReDim bData(lngLength)
  9.     Open strFilePath For Binary As #lngFileNum
  10.     Get #lngFileNum, 1, bData()
  11.     Close #lngFileNum
  12.     Dim lngIndex As Long, lngUbound As Long
  13.     lngUbound = UBound(bData())
  14.     Dim lngIndexB As Long, lngKey As Long
  15.     For lngIndexB = 1 To 32
  16.         lngKey = CHex2Dec(Mid$(cKey, lngIndexB, 1))
  17.         For lngIndex = 0 To lngUbound
  18.            bData(lngIndex) = bData(lngIndex) Xor lngKey
  19.    
  20.         Next
  21.     Next
  22.     strFilePath = App.Path & "\\2.dat"
  23.     lngFileNum = FreeFile
  24.     Open strFilePath For Binary As #lngFileNum
  25.     Put #lngFileNum, 1, bData()
  26.     Close #lngFileNum
  27. End
  28. End Sub
  29. Private Function CHex2Dec(strHex As String) As Long
  30. Select Case strHex
  31.     Case "A": CHex2Dec = 10
  32.     Case "B": CHex2Dec = 11
  33.     Case "C": CHex2Dec = 12
  34.     Case "D": CHex2Dec = 13
  35.     Case "E": CHex2Dec = 14
  36.     Case "F": CHex2Dec = 15
  37.     Case Else: CHex2Dec = CLng(strHex)
  38. End Select
  39. End Function
复制代码
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2009-4-15 20:15 | 只看该作者
你能上传exe和源码吗?
1 E5 l% l2 E8 @% N! U论坛有防拷贝,光贴代码非法用啊
回复 支持 反对

使用道具 举报

6#
发表于 2009-4-15 20:20 | 只看该作者
啊....我在记事本里打的....) v) n6 {6 Y0 T

' [0 q8 |; i+ U# |; F1 h5 G我给枫叶传过一个去防拷贝的插件...现在这台机器没有...我叫她mail你
回复 支持 反对

使用道具 举报

7#
发表于 2009-4-15 22:26 | 只看该作者
我复制了。。。# `% u* v0 C) \3 O7 R( Y9 k
其实在线转帖类型的也可以。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2009-4-17 22:52 | 只看该作者
2009.4.17 更新
回复 支持 反对

使用道具 举报

9#
发表于 2009-4-18 01:22 | 只看该作者
vista下用解包器解包时会出现“程序停止工作”错误。
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2009-4-18 08:03 | 只看该作者
我试过了,XP上没问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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