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

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

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

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

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

静物2 汉化分析专用贴

老外放出了一个静物2数据文件样本。 ; z, _0 f, p& O1 i# d
http://rs706.rapidshare.com/files/216482719/Sl2data.zip * ]% g" a) ^4 s7 t
有巳さ呐笥芽梢匝芯恳幌隆? 9 P8 `; `8 @2 {, }. E$ [+ a

* K% B; q! J; n--------------------------------------------------
) l2 M* J6 n7 X( b: f$ R1 H2009.4.4 第1次更新 : ]0 I( C9 Q6 y1 x$ p* o
老外放出了静物2包文件的异或key,据说解密以后文件的格式很简单。 5 P8 U  [' n$ ]( r: l6 V7 t4 s
2923BE84E16CD6AE529049F1F1BBE9EB 5 Z# }& a  p1 X, N, k; s+ @% E- j

. H+ V, ]! T/ S: O" K, R$ L-------------------------------------------------- $ e1 y5 ^) }% w5 u9 j& w; k! |" R9 |
2009.4.4 第2次更新
! o) k: \  b. W6 `% J( r测试了一下上面的异或key,结果正确。解密后的文件为不压缩的简单格式包文件。 1 h! {, n+ i9 ?$ w& K$ i: W0 q* I
放上异或解密工具,在工具包里有一个例子,异或key就在key.txt中。 7 J2 X. D- B' s' K* \2 m; H

/ c8 D- M$ `2 t7 q% r--------------------------------------------------
& Y3 a* n- y9 t: c" {  I2009.4.4 第3次更新 0 H+ o" L0 Z6 |' k  H
静物2采用wild-dna公司开发的3D引擎。网址如下。 ( Y& F5 y* |1 U) G* e. q6 {
http://www.wild-dna.com/main.html
/ l9 F  K; g4 a: qhttp://www.gamecostudios.com/xcengine.html
5 n7 @2 v4 R! G5 m; X& k; h
4 x. k9 f5 ^! d" K--------------------------------------------------
* _0 z4 o4 e, p" D2009.4.8 更新 * Z; Q( j: j6 a! n1 e7 ?# O5 U
老外公布了静物2包文件的格式。   q3 ^5 A5 K4 ]/ R& j
0x04 //"GMGB" . k! U6 v5 `7 \  O0 n
0x04 //Number of files 6 n) f- n7 {3 a* ?
. F" p; K- n8 v2 S/ q' R* c7 V
for each file {
. \# @# h& T+ v+ ]4 [
5 @0 r( k1 W" z: a! u7 W0xX path and filename & ?2 ~7 N3 y" r, W  C
0x01 0x00
5 _/ y8 f3 \4 ^& q% o) O7 h( Q4 H* Y0x04 file length
! u) h& D! I& D# V0x01 0x00
. [  F" K# y  ?( w+ d8 Y}
* Q; }6 W9 Z6 j0 [. }' ?* d
, d* P3 s5 y0 S  C- X+ p) x! S-------------------------------------------------- + Z( E4 c- ?' I4 W1 s" O
2009.4.17 更新 4 |& _) b  s3 N9 V+ g# @1 c% J
老外动作很快,通用解包器quickbms发布以后很快发布了静物2的解包脚本。
- V5 a1 _% @% n. x' S. L% \) y$ _用法如下 5 `/ a7 ]' _+ o
quickbms.exe stillife2.bms c:\Sl2data.dat c:\folder 2 f; v+ H, M3 W

+ ?" Z. w" s, S# H7 ?! B-------------------------------------------------- 6 O/ P- U) a* M. A: u% w
2009.5.16 更新 # l5 |! ]' x4 [! ^  N
最近又有一些细小但是可能比较重要的发现。
+ |6 l( j7 f5 W5 \* I0 j8 p用filemon跟踪了一下发现这个游戏支持读取解包后的字体文件Sl2fnt.dat。 / z! H8 n6 h( {3 C* P9 B% S
第2个发现可能很重要,我把Sl2fnt.dat改名后发现游戏竟然能正常运行,此时使用了一种奇怪的字体。此种字体和原来的字体明显不同,并且显示有些不正常。我怀疑是某种系统的TTF字体被强制用不正确的参数显示而导致的。如果真是这样的话,我们无疑看到了一丝汉化的曙光。
, Q( M9 g2 A6 `* ^. S/ ?  ]/ y弄清楚这谜一般的字体来源是接下去要研究的课题。 " B) l  a/ U6 y  {! Z
下面是此字体画面抓图。
. N0 o5 e: ^/ k- m8 C! {) C
5 Y9 G6 T2 v* C- e  s4 |0 a
% Q0 d1 z5 h+ E  V$ z--------------------------------------------------
3 Z1 ^, L  B' q4 E8 g2009.6.26 更新
: v5 |$ k/ W! |* D经过老外的分析,把Sl2fnt.dat文件删除以后,游戏会自动寻找系统字体arial.tff。
+ e* k7 U  e$ I, {老外还放上了清晰的抓图。就是说我们目前已经可以把静物2转化为一个使用TTF字库的游戏,如果有办法HOOK显示函数的话,也许可以用比较简单的方法实现汉化。
$ u* }4 E  h# g6 h, |5 z- y2 x- T放上抓图
0 H* G# [2 N% S7 x( ?+ E+ D 9 D3 W, M) K1 x2 h2 C& ?

. f. R0 @& l9 D, N9 `2 n3 v6 I--------------------------------------------------
/ T8 @+ h0 q+ V+ e2 W1 _2009.6.27 更新
2 |; R5 A9 i" q2 x6 {我在另一台电脑上试验了一下,可以显示出正常的英文。 4 N8 }! V6 Y- l% E3 E$ N
我用上面的异或工具解密了字幕文件Sl2data.dat,然后写入一个中文字,再用异或工具异或一次。发现只有这个字的低字节被显示出来,高字节被过滤了。 6 |% s2 R1 @% W# Q$ x7 g: i0 s
我觉得分析到这里基本可以知道实现汉化的方法了,就是用OD分析一下,找到那个过滤点,使游戏一下子读取2个字节,这样游戏应该就能显示出中文。
* ?/ u: \( d0 p/ U/ r0 f* @7 S肥牛如果有时间的话,希望能尝试一下。拜托了。
  j# c: j3 M! I! x需要修改的可能是xcEngine.dll这个文件。 . [7 S" o3 I/ n5 X6 M+ ^4 d

- e  A( o" B* q- }3 o抓图如下,显示出来的是 汉 这个字的低字节部分
* ^7 V9 Y3 _2 Q: |
) b: u* m) A) y% m, \( a# Q1 w6 }: A6 D& L5 v2 f& T  X
--------------------------------------------------
6 P# |% w) L/ H2010.2.2 更新 & b- [. t% H, w$ \$ P
我电脑上的静物2,在一开场2人打完电话以后,就会崩溃。4 \! e/ w* R0 J; B) d  |
研究了一段时间,发现可能是我显卡较老,只有128M显存的缘故。
3 r0 R$ z' z- T- R0 l4 |  k把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老大检查咯
  G4 B$ q1 X' o) G8 R) P1 T: c; A3 a那个提取的方法还是和之前那个riper一样就可以了吧
* V2 j( |- T+ E7 K, m. 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和源码吗?
; m0 M- R/ p) c9 {$ I- z; b论坛有防拷贝,光贴代码非法用啊
回复 支持 反对

使用道具 举报

6#
发表于 2009-4-15 20:20 | 只看该作者
啊....我在记事本里打的....5 a) K& D& V0 ]/ u- W

. P/ I9 j- ^; Q4 N$ q( w' x* k1 P我给枫叶传过一个去防拷贝的插件...现在这台机器没有...我叫她mail你
回复 支持 反对

使用道具 举报

7#
发表于 2009-4-15 22:26 | 只看该作者
我复制了。。。% m* L4 P0 N( \4 _
其实在线转帖类型的也可以。

本帖子中包含更多资源

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

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日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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