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

其他 文件头+数据块(zlib)+文件名表 的资源文件

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

[其他] 文件头+数据块(zlib)+文件名表 的资源文件

跳转到指定楼层
楼主
发表于 2010-7-16 15:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

文件头+数据块(zlib)+文件名表 的资源文件

最近研究资源文件发现好几个游戏的文件都喜欢用这样的格式+ D$ E# A# @8 U( K

/ Q3 E8 V" i2 v! j+ E文件头
& b9 h- v* V7 j- G4 _2 e1 j- g' Z数据块(zlib)
; [* {, b. X5 E! d) e) c文件名表
, w; B$ ?) c. ^; v4 T
: C, G# U/ [3 ]+ o4 ^8 N其中文件头格式为. P0 Z# w2 @- e' p! r

+ q- M8 W% V5 n. Z+ w9 VIDSTRING(P1)+资源文件版本号packver(4)+文件数量files(4)+文件名表地址指针RES_START(4)+NULL(P2)
. [9 u- I3 J4 o* d, G" Z6 A9 B) e. h1 L! F! W  T2 _( q
文件名表格式为2 L0 P. U" w1 L5 q) X

6 I5 e7 {/ f' m& m; u( L文件名NAME(F1)+文件压缩大小ZSIZE(4)+文件解压大小SIZE(4)+文件在资源文件长度FSIZE(4)+文件数据地址偏移OFFSET(4)+filever文件版本号(4)+NULL(F2)5 l2 v- K8 |6 K# u; L5 s

$ j" X3 y% {. d9 n一般情况下,文件压缩大小ZSIZE=文件在资源文件长度FSIZE,但是有时候后者较长,可能是预留空间用于更新维护。
& f0 U9 r9 O' f/ r9 d
5 a7 ^7 I# N2 s4 q这种格式的好处是,当资源文件很大的时候更新维护都比较方便,把新的文件压缩后插入数据块的末尾,然后只要在文件名表后加上更新文件的文件名表就行,然后修正文件数量,其他数据基本可以不动。
: F9 W& c$ a/ q; Z& c9 P2 N' W4 l0 L- X- u2 c& g' g- ^& w
所以这种文件解包方法都可以这样,略有不同的可以稍微修改下
" r! O! A3 [: kgetdstring IDSTRING 0xP1
3 s" Z; [# r- ^; Q" U' ?& Wget packver long
1 M- i. i# g2 U7 _get FILES long4 ?6 r2 y+ h+ r  d: G5 x' n3 C! V1 i
get RES_START long
5 J8 j3 u3 m0 _1 }/ ogetdstring NULL 0xP2. I8 [6 x1 N8 |: ~
6 I! S! r: I1 _  T1 v
goto RES_START
! R2 a3 Z9 a! a; kfor i = 0 < FILES
1 `2 S- P) _# W2 dgetdstring NAME 0xF1; a5 W) T/ {* b3 C' U
get ZSIZE long
# e, g3 Y  i: ]6 ~/ uget SIZE long
/ N1 `5 @9 G1 k' l6 R1 Z) fget FSIZE long7 O6 l* g, i$ J& U# C( N
get OFFSET long- U( N) v5 R: e5 t
get filever long7 d$ e/ k" s" m$ [8 u  |
getdstring NULL1 0xF2
/ r9 l8 R* _( w- h" g3 T& T) t1 n6 yclog NAME OFFSET ZSIZE SIZE- f& u9 }- E: V3 L9 @4 w
next i& w8 w  r: _; h  o; B) }: O

$ h* @, P( k) {' E9 O: n现在,想求高人设计个通用的打包工具,命令行或GUI都可以3 }. v" K( b$ }
其中变量IDSTRING P1 P2 F1 F2键盘获取,其他变量根据待打包文件修正。( N! c( U9 u# Z9 E. \
文件版本号Packver、Filever通过读取文件录入,没有没有该文件直接置NULL,FSIZE直接等于SIZE方便处理。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-7-16 17:06 | 只看该作者
能报几个具体游戏名吗?. _# ]  W* R- {8 F+ n' J* k, e9 K# T
有的游戏支持不打包的,试过没有?
/ l8 |2 l+ w7 z' l/ V, a还可以问问老外
1 n1 w0 r( E4 [- ~6 lhttp://forum.xentax.com/
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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