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

【汉化资料】游戏包文件结构分析(2)

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

【汉化资料】游戏包文件结构分析(2)

跳转到指定楼层
楼主
发表于 2008-10-30 19:43 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

【汉化资料】游戏包文件结构分析(2)

5.第二个例子——一个小游戏的包文件格式
: Y' G+ p8 e  m: z$ u
( Q+ W9 g% p* E6 }- V下载地址:http://www.lanqie.net.cn/html/benzhanzuopin/20070604/43.html AAAKK版9 S% q" t1 H0 [5 J) b( j
2 n4 W! \  E) H$ ?" P* t3 o
包文件是安装文件夹中最大的文件Game.dat。
3 e# |7 D% `. f+ k
- H) H+ X& n% F8 x, l4 `这个格式用到了简单的异或加密,但是文件索引表非常简单,因为没有文件夹格式。
, E+ V# A( X% s: o/ y! t7 M/ B* T. D) {3 v
打开文件,发现有一些文件名(1.BMP,1.WAV),而且每两个文件名的开头间隔一样,说明文件索引长度固定,为28。可以看到文件名占20字节,文件名的空白用空格(0x20)来填充。每两个文件名之间还有8个字节,即两个Int32。可以估计其中一个是文件位置,另一个是文件长度。- T1 Y8 J" Y* ~- h

- X( ?1 |7 {8 _  u0 \图2 Game.dat文件头
4 o( ]6 U% X. j) R# R: m00000000h: 52 45 53 59 00 C2 09 00 00 88 47 03 00 4E 55 4D ; RESY.?..圙..NUM
' y+ k4 s" s& i: Z2 I% j00000010h: 2E 42 4D 50 20 20 20 20 20 20 20 20 20 20 20 20 ; .BMP            % A4 B* i; _! U" G; ^* a7 d
00000020h: 20 4B 51 03 00 C2 58 01 00 31 2E 42 4D 50 20 20 ;  KQ..耎..1.BMP  
- t/ g# }! d8 C1 f00000030h: 20 20 20 20 20 20 20 20 20 20 20 20 20 0E AA 04 ;              .?
. a+ W6 I8 a* A/ ^00000040h: 00 2A 20 00 00 31 2E 57 41 56 20 20 20 20 20 20 ; .* ..1.WAV      
' q" I' F: j4 ?8 H00000050h: 20 20 20 20 20 20 20 20 20 39 CA 04 00 C0 58 01 ;          9?.繶.3 _  D9 T# m) V. ~0 c- A  U
00000060h: 00 32 2E 42 4D 50 20 20 20 20 20 20 20 20 20 20 ; .2.BMP         
5 v6 S5 o! G5 J, D' A: v1 \7 j00000070h: 20 20 20 20 20 FA 22 06 00 D8 AF 02 00 32 2E 57 ;      ?..丿..2.W- S- n$ s- e: ?* c* F+ O$ M
00000080h: 41 56 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ; AV              
$ z' w( g  d. t4 g. T& C9 i00000090h: 20 D3 D2 08 00 C0 58 01 00 33 2E 42 4D 50 20 20 ;  右..繶..3.BMP  
* S4 H, j0 y$ J# ]000000a0h: 20 20 20 20 20 20 20 20 20 20 20 20 20 94 2B 0A ;              ?.
3 N6 l+ [. E2 K7 E8 d000000b0h: 00 1E 80 00 00 33 2E 57 41 56 20 20 20 20 20 20 ; ..
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

17#
 楼主| 发表于 2010-6-9 23:30 | 只看该作者
我看了1下,的确偏移量是差了1个字节。
) Q/ @0 A/ R- t既然每个文件的偏移量都多算了1字节,游戏在读取文件的时候自然都会减去1个字节。# E/ c2 l2 G; X1 S
也许作者就是故意这么安排的。
回复 支持 反对

使用道具 举报

16#
 楼主| 发表于 2010-6-9 07:53 | 只看该作者
昨天有点事,今天晚上看一下。
回复 支持 反对

使用道具 举报

15#
 楼主| 发表于 2010-6-7 17:13 | 只看该作者
引用第11楼naptid于2010-06-06 22:55发表的 :
3 @1 z5 ?4 k7 g4 I) V利用quickbms解包,大概就是将文件包分析后,将其结构写成quickbms可识别的格式文件,程序会自动根据格式文件读取偏移还原文件名并解包文件,自定义格式文件的编写有点类似python,我没学过编程,不知这么解释对不对。

9 u" @. l2 o9 w# a3 R( w
" w$ J2 r/ H5 E8 r: {可以这样理解,把bms是当成一种新的语言,quickbms就是运行这种语言的环境。
$ s3 f  i  [0 p) U: i; k4 e这种语言针对文件的解包定义了一些函数。我们分析完包文件的格式以后,针对特定格式来编写.bms脚本,
( m- a9 p1 L. c# o) Y然后放在quickbms环境下运行,quickbms充当了1个命令解释器。
回复 支持 反对

使用道具 举报

14#
发表于 2010-6-7 14:39 | 只看该作者

回 12楼(shane007) 的帖子

我分析了下这个小游戏,试着写了个BMS文件。文件是解出来了,但无法打开。后来想到了偏移不对应问题,bms是按理论偏移解包的,所以会出问题。原来文件ID是RES,三个字节,我在后面加了个空格,并修改BMS文件。这样理论偏移与实际偏移就对应上了。然后问题解决。2 ]# p! x3 z3 n5 \
我就不明白,打包时时为什么要偏移不匹配呢?这是不是个常见问题?
回复 支持 反对

使用道具 举报

13#
 楼主| 发表于 2010-6-6 22:58 | 只看该作者
引用第10楼canmover于2010-06-06 22:36发表的 : 5 R& B$ E! h' r" V( a2 O
再往上还有个问题,麻烦看一下。 4 w3 E& G  a* H" Q3 N* f0 b/ W
quickbms用的是专有语言?还是其他通用语言?
$ F! z! q* i; I! Q. S
. k/ b2 Q4 j3 K+ _
嗯,好的。上面那个问题我看一下明天告诉你。
9 _/ b+ E! N5 h- M* C  n1 v" ^3 h要是我忘了请提醒我。. p, C7 a( N& k9 O5 T; E  X
) q, m% Z- U) d7 u
quickbms是老外开发的一个制作解包器的工具,他们自己定义了一种bms脚本语言。
4 |3 N; P. d( c) ]9 h" ~工具本身是c开发的. 用它做解包器很方便的。/ O  z6 N' t" u7 r. R. _8 Y2 C
2 f" t/ e4 o8 d0 }9 [* }
你可以看看这里,官网,有好多例子的。
8 {3 M! c* d, R* V: z0 whttp://aluigi.altervista.org/papers.htm
回复 支持 反对

使用道具 举报

12#
发表于 2010-6-6 22:55 | 只看该作者
利用quickbms解包,大概就是将文件包分析后,将其结构写成quickbms可识别的格式文件,程序会自动根据格式文件读取偏移还原文件名并解包文件,自定义格式文件的编写有点类似python,我没学过编程,不知这么解释对不对。
回复 支持 反对

使用道具 举报

11#
发表于 2010-6-6 22:36 | 只看该作者
再往上还有个问题,麻烦看一下。& H" z4 Q( j0 Z8 X$ c4 _( ^3 r1 i
quickbms用的是专有语言?还是其他通用语言?
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2010-6-6 21:55 | 只看该作者

Re:回 楼主(shane007) 的帖子

引用第8楼canmover于2010-06-06 21:51发表的 回 楼主(shane007) 的帖子 :
  L$ p  P0 @6 y* ?8 H; e解包器该怎么做呢?

0 C+ U4 e1 ~) \5 U; X- r2 ^+ n9 ?) k2 G: z5 P
  e& Q0 G9 \8 o3 {4 q
可以用quickbms制作,在论坛检索一下即可。
回复 支持 反对

使用道具 举报

9#
发表于 2010-6-6 21:51 | 只看该作者

回 楼主(shane007) 的帖子

解包器该怎么做呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

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