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

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

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

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

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

静物2 汉化分析专用贴

老外放出了一个静物2数据文件样本。 0 C+ W" h: G! }0 w5 Y- d
http://rs706.rapidshare.com/files/216482719/Sl2data.zip . h  |7 z# q+ `, Y( g
有巳さ呐笥芽梢匝芯恳幌隆? . g+ D+ {  ^) T3 r
# G6 Y. M0 W. ^' a; _% P3 g
-------------------------------------------------- 9 R7 b3 k) K2 e, X/ j* r
2009.4.4 第1次更新 $ k8 L. B9 ^9 E5 i
老外放出了静物2包文件的异或key,据说解密以后文件的格式很简单。 ( _! e( q# \7 a* c
2923BE84E16CD6AE529049F1F1BBE9EB
: U; H( {5 S! R3 v6 C
2 w9 W( C; K% L--------------------------------------------------
5 i' z2 w1 j# A9 r2 j9 ]4 }, v! y6 l  S2009.4.4 第2次更新 6 e' t; r$ y' E
测试了一下上面的异或key,结果正确。解密后的文件为不压缩的简单格式包文件。
6 Q! d- X% i# {, z+ [: G+ y放上异或解密工具,在工具包里有一个例子,异或key就在key.txt中。 6 g: b$ {8 n4 S

- J9 }( r  R. U-------------------------------------------------- : _7 E  ]4 V: {# `1 B9 @- C' O
2009.4.4 第3次更新 8 }4 m) Q/ |6 v  T$ j& s
静物2采用wild-dna公司开发的3D引擎。网址如下。
; |& `" s; ?8 l( b/ Ghttp://www.wild-dna.com/main.html
; Q7 i3 k& M' ?! l) N5 r- Bhttp://www.gamecostudios.com/xcengine.html * M& f4 d. W  r. c4 N

9 i8 I' a+ Z% C+ V$ H9 Z, h- X-------------------------------------------------- ; {6 }: [$ x- N% d
2009.4.8 更新
" h/ Y' r5 Y) W+ v' m/ a. {老外公布了静物2包文件的格式。 ( f+ ]/ z  Z' T& S! E4 t$ b$ E
0x04 //"GMGB"
6 J- K0 V  B0 m: x0x04 //Number of files ! I; n) Q# Z  m! U- _$ _: l1 _* o
! k9 x5 z" Y7 \( }/ `2 o
for each file { . b0 O; w1 |+ D0 d! F# D& P
5 D3 k1 B' ]; Z+ _  j
0xX path and filename
0 t$ E5 Z( v5 V' R- [; @6 p0x01 0x00 - {' J# p5 ?8 y2 P# r6 [
0x04 file length
6 k2 F  l3 k& L6 {$ u( I0 A0x01 0x00
) }/ D, J7 |! L6 W/ Y/ f' T}   [, a  \, S$ `; b+ G5 P
  f- J, O) y/ U0 s8 j$ N! U
--------------------------------------------------
6 Y( Z2 C4 e, ^# ^& ^+ \0 R2009.4.17 更新 - m9 H5 Z1 E8 B- p+ T/ {
老外动作很快,通用解包器quickbms发布以后很快发布了静物2的解包脚本。
3 E* |& {9 c" u' F$ ~1 A用法如下 . \9 m/ N( E+ U) e6 _
quickbms.exe stillife2.bms c:\Sl2data.dat c:\folder 0 R5 f6 E/ F( M- c+ w5 s+ _

5 J) b' z; J- d4 [; W-------------------------------------------------- 6 d! C0 w1 q. E, z0 Y. T8 n
2009.5.16 更新
3 c' @% x0 Y) I# T8 u6 y: A% U最近又有一些细小但是可能比较重要的发现。
' A' m. H) N' S1 |# F0 v* V+ K用filemon跟踪了一下发现这个游戏支持读取解包后的字体文件Sl2fnt.dat。
: q3 w7 M, [9 `2 ^  Z4 V5 b第2个发现可能很重要,我把Sl2fnt.dat改名后发现游戏竟然能正常运行,此时使用了一种奇怪的字体。此种字体和原来的字体明显不同,并且显示有些不正常。我怀疑是某种系统的TTF字体被强制用不正确的参数显示而导致的。如果真是这样的话,我们无疑看到了一丝汉化的曙光。 , k3 [: y6 Z0 u% W5 O
弄清楚这谜一般的字体来源是接下去要研究的课题。 . W! H! Q8 ]( `
下面是此字体画面抓图。 & x" i0 K; z# b  N1 I' t- d4 l( Q

2 \+ z7 e9 }8 n( {) Y5 i
& E$ m8 G: {( {--------------------------------------------------
6 V$ V3 ^) c9 k& Y& V2009.6.26 更新
' k# t8 |( Y3 k* m+ g7 r3 ~经过老外的分析,把Sl2fnt.dat文件删除以后,游戏会自动寻找系统字体arial.tff。 . W! x8 `2 t' h, K% W+ o! v5 v
老外还放上了清晰的抓图。就是说我们目前已经可以把静物2转化为一个使用TTF字库的游戏,如果有办法HOOK显示函数的话,也许可以用比较简单的方法实现汉化。 9 ]7 t2 I! V- r7 o1 ^
放上抓图
/ W8 b9 }1 e. ?! r0 Y9 P0 F! G
5 r2 y2 X5 a& i
* J# ^# P; M4 G- o, j; V  a/ C4 s! _-------------------------------------------------- / R7 K6 g) K& L7 X+ o* c9 k
2009.6.27 更新
" x7 g1 j8 _7 p$ g5 f  N; J" M. i3 s' g我在另一台电脑上试验了一下,可以显示出正常的英文。 5 f& v( {8 M( Q; }# p% Q  B
我用上面的异或工具解密了字幕文件Sl2data.dat,然后写入一个中文字,再用异或工具异或一次。发现只有这个字的低字节被显示出来,高字节被过滤了。 * ~9 _) Y3 i0 ]" E
我觉得分析到这里基本可以知道实现汉化的方法了,就是用OD分析一下,找到那个过滤点,使游戏一下子读取2个字节,这样游戏应该就能显示出中文。 6 C) o! \- T4 k; a
肥牛如果有时间的话,希望能尝试一下。拜托了。
  j1 D# l+ X: _) i需要修改的可能是xcEngine.dll这个文件。
4 d: t- U* b1 w+ P  v- t- T! k6 r) W( r- ]" m
抓图如下,显示出来的是 汉 这个字的低字节部分
) W4 b7 p) _+ G) V& e  J' q
, S9 C5 L$ E" L, |' p7 f- ~2 T1 M# A' Z' m6 \1 G9 l0 j
-------------------------------------------------- : ?2 }- \8 B& J. L7 d
2010.2.2 更新
3 l9 J. l0 F' k- w' ]( X( G我电脑上的静物2,在一开场2人打完电话以后,就会崩溃。, N4 R9 Z' L* i. \
研究了一段时间,发现可能是我显卡较老,只有128M显存的缘故。
! u: \1 e, m- y2 I4 p; ?5 I+ l1 B! W把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老大检查咯
" t' F9 N: o0 A! ^那个提取的方法还是和之前那个riper一样就可以了吧
1 V8 Q' e% z7 G4 U' }. Y% v% ^3 {
  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和源码吗?
9 T3 R+ A* y, m  p8 O论坛有防拷贝,光贴代码非法用啊
回复 支持 反对

使用道具 举报

6#
发表于 2009-4-15 20:20 | 只看该作者
啊....我在记事本里打的....
( ?; e* L2 y. n% y6 e/ K/ W% d0 j+ O/ o) J: ?
我给枫叶传过一个去防拷贝的插件...现在这台机器没有...我叫她mail你
回复 支持 反对

使用道具 举报

7#
发表于 2009-4-15 22:26 | 只看该作者
我复制了。。。, Y5 l3 b+ D( v
其实在线转帖类型的也可以。

本帖子中包含更多资源

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

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

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