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

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

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

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

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

静物2 汉化分析专用贴

老外放出了一个静物2数据文件样本。 , R4 L3 Z* L  v( @$ [* S
http://rs706.rapidshare.com/files/216482719/Sl2data.zip
3 E+ W# a% e: r# \5 p有巳さ呐笥芽梢匝芯恳幌隆?
/ N* G- B$ H' D7 ?+ k+ B  u2 s: {1 M  C7 s4 K
--------------------------------------------------
4 R2 S! p. r5 {' l" `4 f6 L2009.4.4 第1次更新 4 P0 L7 x- a! w5 g2 e
老外放出了静物2包文件的异或key,据说解密以后文件的格式很简单。
$ c9 U9 o) e+ X+ {& Q2923BE84E16CD6AE529049F1F1BBE9EB % E# o+ h( C% b3 p2 _
6 u. @0 q0 R( t9 [) ~' D+ E
--------------------------------------------------
- E, h- D, d/ i5 k/ m8 z; t2009.4.4 第2次更新 : G" `  {8 f' A* B5 [3 l7 t" l
测试了一下上面的异或key,结果正确。解密后的文件为不压缩的简单格式包文件。
6 g4 B: H" M% I5 C7 H放上异或解密工具,在工具包里有一个例子,异或key就在key.txt中。 " u& Z3 _7 R* ^+ N

7 L' h4 Y; [+ d3 @-------------------------------------------------- 8 O8 n& U; d# q$ r7 i
2009.4.4 第3次更新
7 d  k+ U2 x9 j( X, r静物2采用wild-dna公司开发的3D引擎。网址如下。 % ~$ ?; m3 R6 w; N6 j/ Z! X0 X
http://www.wild-dna.com/main.html
6 E3 g  F" v2 r. xhttp://www.gamecostudios.com/xcengine.html 3 m( q% u/ h; l9 q' X9 L- m5 P; G( N

- F' o- t- `8 h: o, u+ c6 j+ ^$ t--------------------------------------------------
+ E: ^- o2 c5 {9 U) \2009.4.8 更新
7 |" ^4 X0 w# k) A0 `% `老外公布了静物2包文件的格式。
  }- o9 M" T' ~) Y0x04 //"GMGB" : w6 i: k8 [+ b9 I! T
0x04 //Number of files " Q0 Z! j1 Q7 W( L1 T7 Q
( C0 v0 z3 X1 S; n  W. H
for each file { 8 t* }) l( r, \

6 q7 o) Y8 n3 x+ ?1 T  @" C& K0xX path and filename ( q) m. k- P: v- }8 V
0x01 0x00 " [/ u& h  L$ R& I# L% G  l8 r
0x04 file length - c3 \3 g0 k& b1 p- R
0x01 0x00
# M+ q$ E. h+ ]8 d3 s; m$ M7 x  ]. O}
# R7 |' r/ _, @# }( `9 Y) a. i. x& Y& _& l$ O# \  _) s( S
--------------------------------------------------
# w7 |" N& Y: b- B- Q8 H2009.4.17 更新 # p9 J; Y- G3 W1 [
老外动作很快,通用解包器quickbms发布以后很快发布了静物2的解包脚本。 % X( i% C4 C) |
用法如下
2 i- Y5 `' m- X5 I& ~' K2 S  `quickbms.exe stillife2.bms c:\Sl2data.dat c:\folder
+ N. j* c7 J( b# r+ L
5 z9 Z/ A# ^/ {- R: \7 ^' M' a. @2 O-------------------------------------------------- % Q7 T7 ^% K6 f" v% o
2009.5.16 更新 ( b& L% g; V( u
最近又有一些细小但是可能比较重要的发现。
; R( A+ I+ F+ W+ ~0 [用filemon跟踪了一下发现这个游戏支持读取解包后的字体文件Sl2fnt.dat。
! t/ G" [. Y) h第2个发现可能很重要,我把Sl2fnt.dat改名后发现游戏竟然能正常运行,此时使用了一种奇怪的字体。此种字体和原来的字体明显不同,并且显示有些不正常。我怀疑是某种系统的TTF字体被强制用不正确的参数显示而导致的。如果真是这样的话,我们无疑看到了一丝汉化的曙光。 ; v0 k: K: ~' y9 o" \) ?3 v
弄清楚这谜一般的字体来源是接下去要研究的课题。
: c+ ]+ s( }& g1 q0 Y下面是此字体画面抓图。
+ h1 Q, w0 }. i( N8 e) j; \2 R4 r, j . ^) I" U$ c; {% w
9 d% y# j, |( X' Y4 |
--------------------------------------------------
0 R$ z# A) l. O. i5 ~* m% a2009.6.26 更新 , \0 ~1 D. ~* D
经过老外的分析,把Sl2fnt.dat文件删除以后,游戏会自动寻找系统字体arial.tff。 / _+ g* w  x! z$ {* H' Y" d7 p* M/ s
老外还放上了清晰的抓图。就是说我们目前已经可以把静物2转化为一个使用TTF字库的游戏,如果有办法HOOK显示函数的话,也许可以用比较简单的方法实现汉化。
" Z1 z: Q' r8 ^& B( T9 v, {0 |放上抓图
5 {  ^+ }+ M1 \% v& [
2 _# I( G) u( y2 W5 O9 @: V4 e- q) [  I, ^( c. {" |1 V
-------------------------------------------------- 1 p# L7 V+ q+ i0 C2 }4 r$ B
2009.6.27 更新
+ K: x, @- V( \2 c我在另一台电脑上试验了一下,可以显示出正常的英文。
3 k$ U8 H) z( |# J! Z) P; G; ]我用上面的异或工具解密了字幕文件Sl2data.dat,然后写入一个中文字,再用异或工具异或一次。发现只有这个字的低字节被显示出来,高字节被过滤了。
" k3 u7 s- ]1 A0 ~  h7 p我觉得分析到这里基本可以知道实现汉化的方法了,就是用OD分析一下,找到那个过滤点,使游戏一下子读取2个字节,这样游戏应该就能显示出中文。 7 ^5 |5 a* z; P. i- V- a/ w
肥牛如果有时间的话,希望能尝试一下。拜托了。 6 ]( A) q& b1 I% K
需要修改的可能是xcEngine.dll这个文件。 $ t) K  ?5 |: r$ q; F. D' l4 k7 I
; V; d8 o  X, w& @% N
抓图如下,显示出来的是 汉 这个字的低字节部分
5 g% b7 [# j& }: f3 D0 X- d$ f2 J. [2 @+ S+ g

' u: y  c8 `, |' I/ u* I5 _--------------------------------------------------
" f7 y* j  P' n/ R! J) v- j5 ?( p2010.2.2 更新 0 x! N$ K0 B# _) H2 H$ b; v# m. b5 a+ |
我电脑上的静物2,在一开场2人打完电话以后,就会崩溃。, S( ~  G9 w$ ~, Y
研究了一段时间,发现可能是我显卡较老,只有128M显存的缘故。
0 F; L2 k5 R4 w1 V把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老大检查咯: \6 b, R3 A; s6 d8 d0 ~
那个提取的方法还是和之前那个riper一样就可以了吧4 p5 T( L4 k2 x5 i& k0 H
  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和源码吗?
/ Q0 S! X( N6 ?9 ~( {& M  U论坛有防拷贝,光贴代码非法用啊
回复 支持 反对

使用道具 举报

6#
发表于 2009-4-15 20:20 | 只看该作者
啊....我在记事本里打的....$ J0 H/ }; ^3 I5 v# Y& h0 U2 p
% F9 U' a- O/ c7 H' i$ a
我给枫叶传过一个去防拷贝的插件...现在这台机器没有...我叫她mail你
回复 支持 反对

使用道具 举报

7#
发表于 2009-4-15 22:26 | 只看该作者
我复制了。。。
0 h( m5 C+ ~3 a其实在线转帖类型的也可以。

本帖子中包含更多资源

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

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

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