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

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

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

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

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

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

最近研究资源文件发现好几个游戏的文件都喜欢用这样的格式6 m4 o! ]: _0 v

4 k# m+ w+ i- P0 M1 |6 D文件头
# o) y8 I; S1 [数据块(zlib)9 D9 n1 c1 B: `; q/ x: z
文件名表9 J  |2 N% C% U& x& H
2 K6 @$ n. _* t# `6 }
其中文件头格式为
9 C4 V+ V! g1 J; X5 B8 s" \$ C3 g7 z6 F7 P* U
IDSTRING(P1)+资源文件版本号packver(4)+文件数量files(4)+文件名表地址指针RES_START(4)+NULL(P2)/ m# w- @/ q& }- h( `( X
! C4 ^+ D& r: T
文件名表格式为# N$ x4 v2 g9 y2 u) ~
+ `& S+ U9 |9 _3 L: [
文件名NAME(F1)+文件压缩大小ZSIZE(4)+文件解压大小SIZE(4)+文件在资源文件长度FSIZE(4)+文件数据地址偏移OFFSET(4)+filever文件版本号(4)+NULL(F2)1 C2 m) Q, k0 Q5 u

* ?1 j; t, P- Y; x一般情况下,文件压缩大小ZSIZE=文件在资源文件长度FSIZE,但是有时候后者较长,可能是预留空间用于更新维护。% \; {0 t! {. D0 t6 }; ^
6 e1 G/ G# V  i- S& b( @0 ~
这种格式的好处是,当资源文件很大的时候更新维护都比较方便,把新的文件压缩后插入数据块的末尾,然后只要在文件名表后加上更新文件的文件名表就行,然后修正文件数量,其他数据基本可以不动。
$ P6 ?4 U8 J1 a+ K* B! _7 |
/ H! P3 `1 N! n0 V( W; b所以这种文件解包方法都可以这样,略有不同的可以稍微修改下( ]# D2 h  t! S1 `
getdstring IDSTRING 0xP1
  F; G( ^, u' A8 g/ F' @get packver long
, q' t$ f' [0 a& S" ]# G; }+ Sget FILES long. x4 a! e$ e+ k7 Z. s
get RES_START long
8 T) F" u3 R) B) j3 Xgetdstring NULL 0xP2
* o5 M  l' @# Y6 j2 o( Z, h$ O& b' A
goto RES_START
8 Z2 S1 j/ Q6 H) G  k' dfor i = 0 < FILES& Z& b" h: \6 p/ Z2 D, G9 w
getdstring NAME 0xF1
* q$ ]& q. q) r0 f: u/ Dget ZSIZE long$ P0 O) c  S4 b3 s
get SIZE long1 G9 A' e- z( h2 |
get FSIZE long
9 T7 o3 M- a! B2 }1 {/ A- Pget OFFSET long
) d' K# |" C2 s8 x2 {get filever long
3 Y' c: P, b, ?6 S" M( S% cgetdstring NULL1 0xF2
/ m3 B' m) t6 P% D' i9 H) |clog NAME OFFSET ZSIZE SIZE
7 K9 K+ Y: d5 v- e% _3 y/ Pnext i
8 n/ |+ ^- s; \8 h9 W6 n9 H( L) C* s) C1 P+ s" Z
现在,想求高人设计个通用的打包工具,命令行或GUI都可以
! [3 Q. I/ y- i8 B# z$ j其中变量IDSTRING P1 P2 F1 F2键盘获取,其他变量根据待打包文件修正。
* M' F; G7 `8 j文件版本号Packver、Filever通过读取文件录入,没有没有该文件直接置NULL,FSIZE直接等于SIZE方便处理。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-7-16 17:06 | 只看该作者
能报几个具体游戏名吗?
% G9 r. e0 G1 a, M+ y有的游戏支持不打包的,试过没有?% n+ A- {( S! a7 W
还可以问问老外
) g5 R! {9 `0 phttp://forum.xentax.com/
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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