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

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

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

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

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

静物2 汉化分析专用贴

老外放出了一个静物2数据文件样本。
7 W* n0 T0 V$ o6 L1 I. ^4 o" B2 lhttp://rs706.rapidshare.com/files/216482719/Sl2data.zip
" g1 U7 l; f7 y# f有巳さ呐笥芽梢匝芯恳幌隆?
! p6 y; ]/ W% m6 t. B" j0 r
7 P& P4 v# A& W/ N1 n-------------------------------------------------- ) J* t2 D1 P  K! X6 r5 A/ m
2009.4.4 第1次更新
' k: @( z! I1 r- R老外放出了静物2包文件的异或key,据说解密以后文件的格式很简单。
- v1 h+ n! |2 f! D  r4 R5 H2923BE84E16CD6AE529049F1F1BBE9EB
( M( b. h0 Z. j# F* z% S& w  ]9 h
5 f  X* A+ |/ c4 K) m; V-------------------------------------------------- 6 o  X( K) f4 E9 ~, S8 R
2009.4.4 第2次更新 ; b9 Q# O1 M7 _4 z5 d1 p! a5 d
测试了一下上面的异或key,结果正确。解密后的文件为不压缩的简单格式包文件。
6 a# p  f$ `$ R- H: g放上异或解密工具,在工具包里有一个例子,异或key就在key.txt中。
/ k  }1 u1 `6 ^3 [" O
" `% E6 c2 j8 N  @9 R" |7 T$ z--------------------------------------------------
5 B$ m! G  {" x$ E2009.4.4 第3次更新
: o! B' K. v# `! G静物2采用wild-dna公司开发的3D引擎。网址如下。
* G2 }% J" ^3 d+ P/ Phttp://www.wild-dna.com/main.html 5 T( {# x3 P- I# r! @) }) D
http://www.gamecostudios.com/xcengine.html " u, F  p+ T) u+ @% j1 g
9 t4 k/ A( {9 x$ A& P8 o
-------------------------------------------------- 7 m; R/ }4 r; b2 l- Q5 k+ @
2009.4.8 更新 # D, L8 {2 {3 P$ T* r
老外公布了静物2包文件的格式。
) ?$ y; [  A2 o( i$ \: `9 E& F0x04 //"GMGB"
- _* j: o7 n0 i  T) {0x04 //Number of files ) k* ]  y6 j/ R+ J
1 l* @; f9 J- w: K7 h
for each file { % ]4 B& E# |# U$ F* T4 O
* m6 w. f( @, z& t( }
0xX path and filename
4 h  o1 A" N) X0x01 0x00 - A9 `8 i/ x' K
0x04 file length / j0 z& E1 e. d$ _. @
0x01 0x00 " N3 `5 b# X5 Z) r+ ]/ ]
} 8 G" R6 e, G1 W" U4 q# W* k
4 y1 x/ I4 y9 F% E# ~$ k) a! F9 M1 C
--------------------------------------------------
+ |# l6 E  j+ n2 U# H% l/ H; ?0 [2009.4.17 更新
  |9 \) V) s* A3 f1 c9 s" y" x; |' E老外动作很快,通用解包器quickbms发布以后很快发布了静物2的解包脚本。
* g1 G: ~/ u$ g$ }8 [& B用法如下 3 q4 \: H# H6 E5 j* G7 I
quickbms.exe stillife2.bms c:\Sl2data.dat c:\folder
) R  D; V# @0 L  V4 K$ q  Y, X" n0 e
3 `7 |0 E( g: M  i  _9 h5 M-------------------------------------------------- + V7 G3 A: c) D& r" n
2009.5.16 更新
8 f. h) z( ^- c6 r1 z# B% ]( e最近又有一些细小但是可能比较重要的发现。
3 T) J1 w# C( l5 u3 l用filemon跟踪了一下发现这个游戏支持读取解包后的字体文件Sl2fnt.dat。
5 ~" M. D' |8 R2 ~2 E第2个发现可能很重要,我把Sl2fnt.dat改名后发现游戏竟然能正常运行,此时使用了一种奇怪的字体。此种字体和原来的字体明显不同,并且显示有些不正常。我怀疑是某种系统的TTF字体被强制用不正确的参数显示而导致的。如果真是这样的话,我们无疑看到了一丝汉化的曙光。
, n9 m# M/ |+ m' h弄清楚这谜一般的字体来源是接下去要研究的课题。
4 O, G3 }# b( X下面是此字体画面抓图。 0 t% E& ^# [4 T( f% Z8 g

/ C5 O8 x" T  X1 z' L3 R+ U: D
" d* K. \0 F6 F! h6 Q4 @-------------------------------------------------- 9 G8 j2 |% A! t
2009.6.26 更新 5 E* W# i- Z$ B, ]5 a# ^
经过老外的分析,把Sl2fnt.dat文件删除以后,游戏会自动寻找系统字体arial.tff。
$ m- ]1 M/ a  K老外还放上了清晰的抓图。就是说我们目前已经可以把静物2转化为一个使用TTF字库的游戏,如果有办法HOOK显示函数的话,也许可以用比较简单的方法实现汉化。 , }* J- [2 J  d, q' g7 Z
放上抓图
' z/ n8 Q9 h- W$ n
" G% Y% ^% x1 _0 S- ?. \
+ \5 v% \, [5 h+ |# ~1 u-------------------------------------------------- ; G& C: m  C! g: N, Y5 d( f
2009.6.27 更新
, Y3 e  z! H6 Q! r0 U我在另一台电脑上试验了一下,可以显示出正常的英文。 " \% Z$ ~' H# z4 w; h$ h# g% C
我用上面的异或工具解密了字幕文件Sl2data.dat,然后写入一个中文字,再用异或工具异或一次。发现只有这个字的低字节被显示出来,高字节被过滤了。 ; X# Y2 z# `4 [, _
我觉得分析到这里基本可以知道实现汉化的方法了,就是用OD分析一下,找到那个过滤点,使游戏一下子读取2个字节,这样游戏应该就能显示出中文。
3 r2 z! N0 y7 v3 W! `5 w肥牛如果有时间的话,希望能尝试一下。拜托了。 , T3 G& z- Z; l, l6 Y
需要修改的可能是xcEngine.dll这个文件。
) @9 b! u* c; o, ~
: T5 M: u) I$ q8 M6 ~7 [8 J抓图如下,显示出来的是 汉 这个字的低字节部分
$ j" y& a. G/ C) Z9 V: a) _
; k( R3 B7 Q! x2 i! R% b. p  `5 S9 f; A
--------------------------------------------------
  d7 ^  u" H! u2 e' f5 A2010.2.2 更新
9 R  f) f- K# r$ `( b; D- s- b( R我电脑上的静物2,在一开场2人打完电话以后,就会崩溃。
+ f, [4 T1 B/ Q$ r- p研究了一段时间,发现可能是我显卡较老,只有128M显存的缘故。  T! p6 B4 h6 r7 K2 |1 d
把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老大检查咯
/ p* K) m7 r3 O0 T( K3 R) i/ [那个提取的方法还是和之前那个riper一样就可以了吧
* p0 ~; F+ b4 }  `. U! `6 V7 Z# \
  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和源码吗?
* G$ A2 D* h3 ~  k论坛有防拷贝,光贴代码非法用啊
回复 支持 反对

使用道具 举报

6#
发表于 2009-4-15 20:20 | 只看该作者
啊....我在记事本里打的....
$ h* V0 N- u# @* n" J) l$ a/ k% Q7 ]6 |* l6 w" E) h2 Y
我给枫叶传过一个去防拷贝的插件...现在这台机器没有...我叫她mail你
回复 支持 反对

使用道具 举报

7#
发表于 2009-4-15 22:26 | 只看该作者
我复制了。。。
7 w; Q+ d: |' b; X7 N# p1 m; ~) h1 w其实在线转帖类型的也可以。

本帖子中包含更多资源

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

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

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