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

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

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

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

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

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

最近研究资源文件发现好几个游戏的文件都喜欢用这样的格式3 W0 r$ J% i) f" P$ o/ b2 m
( d! u# A# ?4 G& D: d
文件头3 ?$ h6 A' }$ Z) x- _
数据块(zlib)$ N7 F  W" q9 ^" n
文件名表" L- ?8 m9 X- d+ P& c
; G# [$ C, _% R+ u& ^) g
其中文件头格式为
3 d+ [3 G6 y. s2 x7 ]3 s2 i& d) t, w
IDSTRING(P1)+资源文件版本号packver(4)+文件数量files(4)+文件名表地址指针RES_START(4)+NULL(P2)! H  I. V/ m% g- p3 H
( h8 `- x2 M$ q  ]- q8 c
文件名表格式为
6 {  c! ?  N/ j- [8 V
) e6 N5 Q) e$ x; v, S8 e文件名NAME(F1)+文件压缩大小ZSIZE(4)+文件解压大小SIZE(4)+文件在资源文件长度FSIZE(4)+文件数据地址偏移OFFSET(4)+filever文件版本号(4)+NULL(F2)
& O& Z, F- N; y6 u  ]3 i
5 F/ l/ u1 C  C4 ?% B; K一般情况下,文件压缩大小ZSIZE=文件在资源文件长度FSIZE,但是有时候后者较长,可能是预留空间用于更新维护。1 H# {/ o/ h0 Z# ~
2 q! k/ W6 {2 I$ G1 R% S$ Z
这种格式的好处是,当资源文件很大的时候更新维护都比较方便,把新的文件压缩后插入数据块的末尾,然后只要在文件名表后加上更新文件的文件名表就行,然后修正文件数量,其他数据基本可以不动。
( q8 W  e* X. M, A- r3 j* ?
# T  z# w( `4 H5 q所以这种文件解包方法都可以这样,略有不同的可以稍微修改下' }& N5 |7 s, ?" L
getdstring IDSTRING 0xP1. y( K; w$ _1 F& ^
get packver long
% t  ^$ j5 u( y) C# b. oget FILES long" Q8 l7 S+ h$ e  I1 ?+ G
get RES_START long
. a. `0 B- f) k5 d, \5 |. Ugetdstring NULL 0xP2
4 j$ o6 x" J5 l$ d% @4 W
' `0 i6 a) `) l; _* n% ]5 Y4 Egoto RES_START0 j2 R# U9 _5 `4 |
for i = 0 < FILES- T& K$ n1 c' g
getdstring NAME 0xF1, }) e# f( k) h+ T* f7 Y. Z
get ZSIZE long! m$ K( J6 A7 [  u8 {
get SIZE long
, `/ [' z1 _$ i0 Pget FSIZE long
' y6 u% K! ~2 D; \3 N1 `8 u7 Oget OFFSET long
! v  s& M& u9 n  U& Y! ~, d; Fget filever long. p/ G$ ?% Y, d, z
getdstring NULL1 0xF2
' v5 c' Z% _1 Gclog NAME OFFSET ZSIZE SIZE! Y- w7 b6 i4 H$ G8 u
next i
2 O% [# A% v5 \/ S+ _0 k% t3 S5 I. o5 T, ]; c& d; [! x% C, X
现在,想求高人设计个通用的打包工具,命令行或GUI都可以& t) i* Z& V9 v) t& A/ Y
其中变量IDSTRING P1 P2 F1 F2键盘获取,其他变量根据待打包文件修正。0 G; }- l# [" x. C! W, p0 `9 x
文件版本号Packver、Filever通过读取文件录入,没有没有该文件直接置NULL,FSIZE直接等于SIZE方便处理。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-7-16 17:06 | 只看该作者
能报几个具体游戏名吗?# [1 I  i  l: J
有的游戏支持不打包的,试过没有?  f1 q+ A2 @* N, L& e
还可以问问老外/ s4 D' P0 Z. R% u" d
http://forum.xentax.com/
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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