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

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

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

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

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

静物2 汉化分析专用贴

老外放出了一个静物2数据文件样本。
6 O, v! Z3 _+ c/ c+ z! u* M' C, Mhttp://rs706.rapidshare.com/files/216482719/Sl2data.zip * h! \+ r$ b& {+ n7 R4 ?
有巳さ呐笥芽梢匝芯恳幌隆? ! I2 b! n& ~# i$ O# y" i

. P4 w8 l+ i& b+ q% T--------------------------------------------------
. Y8 [5 ]- D7 z2009.4.4 第1次更新 : z5 b* c2 O: i) i+ \' q
老外放出了静物2包文件的异或key,据说解密以后文件的格式很简单。 ' j& H5 t+ @- y* |; f
2923BE84E16CD6AE529049F1F1BBE9EB
  p3 c  F1 A' u  `8 M7 c  K
9 F/ C- I. n8 y& n) e4 [, y! D--------------------------------------------------
/ J. V  j: p3 D+ Q: d9 o2009.4.4 第2次更新
! ^" z# c' ]* [- i' F测试了一下上面的异或key,结果正确。解密后的文件为不压缩的简单格式包文件。
7 P; ^& T; w$ y' I- v, p+ [- E放上异或解密工具,在工具包里有一个例子,异或key就在key.txt中。
5 R- r" X! Z5 \1 }2 e
: n' E+ Y5 i$ R$ g# l-------------------------------------------------- / A) v9 b" X0 B9 R2 j: s
2009.4.4 第3次更新 ( B, }+ c7 K/ N6 h
静物2采用wild-dna公司开发的3D引擎。网址如下。
$ q9 u5 s0 ?2 _2 ahttp://www.wild-dna.com/main.html
/ o3 q! z" H5 K; Fhttp://www.gamecostudios.com/xcengine.html
$ G3 F7 R- A6 {( F) b+ W- W" U/ s; q* j1 z! X
-------------------------------------------------- % l* F& r4 g7 p! `
2009.4.8 更新 ! E# [, r8 S' `0 }. }# g# h$ n
老外公布了静物2包文件的格式。
4 r2 I/ u" K* d$ o  y# {+ i% W0x04 //"GMGB" * ~1 {7 D+ F% v+ W; O# Y8 g- y
0x04 //Number of files , y- J0 S* s% D5 t3 {( J2 R$ e2 m! l3 C
# i& H0 u/ O' ~$ I$ Z
for each file { 1 H& G/ Q9 s9 x8 q( x
' [  d( @; y* _7 v' X' y
0xX path and filename
; d. K& _- @2 j3 G; V0x01 0x00
* G  p3 d' p3 ~5 M' d0x04 file length ! C2 t$ L7 c4 V
0x01 0x00
% @0 t& N7 J" t5 U} & {- W' p! Z0 J/ B

1 b( Y% _5 i; S2 n/ P7 T$ n8 x& a-------------------------------------------------- # R5 d# ]  z6 _5 d4 d$ H
2009.4.17 更新
- C, j# e. H2 e' T老外动作很快,通用解包器quickbms发布以后很快发布了静物2的解包脚本。 8 @) E9 s1 Y9 Z- ^* i( @
用法如下
/ P8 v/ X* I+ P( h8 Tquickbms.exe stillife2.bms c:\Sl2data.dat c:\folder
% S) g3 v6 T$ f
% t$ C$ }9 k' [  P-------------------------------------------------- - J2 ^9 {0 s  O9 k% m3 T+ h
2009.5.16 更新
5 ~8 ?; M3 R9 G4 c4 h最近又有一些细小但是可能比较重要的发现。 : k# g6 L3 Z& o) y. L9 y/ v
用filemon跟踪了一下发现这个游戏支持读取解包后的字体文件Sl2fnt.dat。
: F& i" U  C. r+ s+ [% S8 S4 s4 e/ f第2个发现可能很重要,我把Sl2fnt.dat改名后发现游戏竟然能正常运行,此时使用了一种奇怪的字体。此种字体和原来的字体明显不同,并且显示有些不正常。我怀疑是某种系统的TTF字体被强制用不正确的参数显示而导致的。如果真是这样的话,我们无疑看到了一丝汉化的曙光。
2 l' {# W4 \# l( O% H8 r0 }& l  g4 P弄清楚这谜一般的字体来源是接下去要研究的课题。
6 E2 H, Z% }, b下面是此字体画面抓图。
% J6 }0 E! t' a8 E$ H2 x- E5 w) m 4 \3 ?) l" H, y) l1 R, L( b, b
: t) k$ v2 |9 L+ ^) M5 h
-------------------------------------------------- 1 J4 s7 L/ `* s8 S9 V, `
2009.6.26 更新
8 M$ N7 R4 W+ }' `% h! J经过老外的分析,把Sl2fnt.dat文件删除以后,游戏会自动寻找系统字体arial.tff。 ' ^$ O, j9 A; h. x: L4 H
老外还放上了清晰的抓图。就是说我们目前已经可以把静物2转化为一个使用TTF字库的游戏,如果有办法HOOK显示函数的话,也许可以用比较简单的方法实现汉化。 0 b% Z* S& g1 \( r3 ^) N
放上抓图
0 H5 A' P$ j5 w7 ?( Y2 J4 {
# p3 m$ \% x) a# [, `3 ?$ z' @; K. @( b2 H
--------------------------------------------------
9 c* O/ Q  S# e  x2009.6.27 更新
- y( e, F8 B* i' l. s/ j4 v我在另一台电脑上试验了一下,可以显示出正常的英文。 2 N( F: K% V% f( _+ ~+ b
我用上面的异或工具解密了字幕文件Sl2data.dat,然后写入一个中文字,再用异或工具异或一次。发现只有这个字的低字节被显示出来,高字节被过滤了。
- ]- V7 E1 d" ^  Y5 y# ?我觉得分析到这里基本可以知道实现汉化的方法了,就是用OD分析一下,找到那个过滤点,使游戏一下子读取2个字节,这样游戏应该就能显示出中文。
- h1 n7 l8 {# f2 \5 q2 H& X6 t肥牛如果有时间的话,希望能尝试一下。拜托了。 " c1 L* f, _" ]$ E4 Z  ~+ U* x9 V
需要修改的可能是xcEngine.dll这个文件。 " T5 t- V% V3 E" C/ {* F
7 H7 i# G3 y+ T
抓图如下,显示出来的是 汉 这个字的低字节部分 2 f; n% q$ |: ?6 P( m6 v
! l0 b- f0 K% t$ P- n

9 }4 g' b. M0 d6 O-------------------------------------------------- 2 j+ Q  C0 k7 d9 [- t" a  a
2010.2.2 更新
. P4 ?2 l9 E. a2 B2 @$ u我电脑上的静物2,在一开场2人打完电话以后,就会崩溃。
1 L( ~, T% q( k# y; W. y研究了一段时间,发现可能是我显卡较老,只有128M显存的缘故。9 `3 X8 Z. X  i1 w# S4 V4 o* |
把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+ S' y$ U/ w7 x- H6 u" {那个提取的方法还是和之前那个riper一样就可以了吧
+ U+ ?5 c6 n' N
  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和源码吗?
. L. i* @2 d, r- n) }论坛有防拷贝,光贴代码非法用啊
回复 支持 反对

使用道具 举报

6#
发表于 2009-4-15 20:20 | 只看该作者
啊....我在记事本里打的....+ F3 M  P! M; _; z: x% `
+ U4 ^: C4 [& h) y- Z( ]
我给枫叶传过一个去防拷贝的插件...现在这台机器没有...我叫她mail你
回复 支持 反对

使用道具 举报

7#
发表于 2009-4-15 22:26 | 只看该作者
我复制了。。。9 {' C" S2 \0 N- Z- {( h% ]3 ^
其实在线转帖类型的也可以。

本帖子中包含更多资源

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

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

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