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

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

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

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

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

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

最近研究资源文件发现好几个游戏的文件都喜欢用这样的格式, K" ~2 f2 ]8 A8 t9 O6 H

' V& H  w, L& A5 R6 o1 |$ j文件头
' F, V5 e! y/ z6 I$ ], P8 t% b" J数据块(zlib)
8 S6 T0 S* M# t5 m$ L1 k, o0 e文件名表
4 T% I% ^; S- ~! t$ T- A, a  r- F# _! q" D0 s% K4 r
其中文件头格式为2 B7 e" |( W  U$ R' @7 Z, W8 n
" A5 S; l) x8 L2 C' Q/ @# L
IDSTRING(P1)+资源文件版本号packver(4)+文件数量files(4)+文件名表地址指针RES_START(4)+NULL(P2)4 y: ^" }6 t$ M; l1 v! R, f

& m- x, u) X! [" W文件名表格式为
* {) A" G. y- |" T1 G3 k
, f, J+ ^, x! r$ o. X文件名NAME(F1)+文件压缩大小ZSIZE(4)+文件解压大小SIZE(4)+文件在资源文件长度FSIZE(4)+文件数据地址偏移OFFSET(4)+filever文件版本号(4)+NULL(F2)
) m( B. s9 D, L/ ~) t' K
9 M6 ?! J8 o5 S: p+ q一般情况下,文件压缩大小ZSIZE=文件在资源文件长度FSIZE,但是有时候后者较长,可能是预留空间用于更新维护。
4 x: S, t! J" K
0 i$ o  s. b* j# }/ o$ j这种格式的好处是,当资源文件很大的时候更新维护都比较方便,把新的文件压缩后插入数据块的末尾,然后只要在文件名表后加上更新文件的文件名表就行,然后修正文件数量,其他数据基本可以不动。
$ I; V8 O# a8 z2 x6 i: n, I- ^% Y1 C
所以这种文件解包方法都可以这样,略有不同的可以稍微修改下' M$ o* Y% a, ~. T% c% q* t
getdstring IDSTRING 0xP1% ]0 W" ~9 P5 s) O! T1 [! e
get packver long
7 V8 }/ v! N1 S, ~: J3 w$ ^, mget FILES long' z9 ^8 T. q8 D* Y3 ?; y# P
get RES_START long
! b9 F* B/ o! l! H* Rgetdstring NULL 0xP2
) u+ d) ]6 h+ j4 z& `! G5 ^# O) Z8 W: ~
goto RES_START
/ x+ m) a% n1 qfor i = 0 < FILES
  i( I. R( U' H4 V" G% L  jgetdstring NAME 0xF1
5 z8 Q) `! t6 H# X. Z& l: Tget ZSIZE long% B2 a. M6 |" n
get SIZE long1 `) c$ n0 U$ a% j% V& T& B
get FSIZE long
2 r% ~6 z& B& q1 W, N$ xget OFFSET long
0 i+ l6 G, W# }, z- ^2 Tget filever long* F: w# z" n4 A* M
getdstring NULL1 0xF2+ z& D; O8 d4 Z: t
clog NAME OFFSET ZSIZE SIZE( |+ x: r( _. j0 t
next i1 {; e8 ?* ?% I2 R8 R, K
: F4 o9 |5 L0 x  a
现在,想求高人设计个通用的打包工具,命令行或GUI都可以
8 w+ @" f& k7 D. R2 d7 j  |其中变量IDSTRING P1 P2 F1 F2键盘获取,其他变量根据待打包文件修正。
/ n8 X+ J- W5 _5 ^0 y文件版本号Packver、Filever通过读取文件录入,没有没有该文件直接置NULL,FSIZE直接等于SIZE方便处理。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

沙发
发表于 2010-7-16 17:06 | 只看该作者
能报几个具体游戏名吗?% j7 B0 W2 o. _" V
有的游戏支持不打包的,试过没有?
* ~1 z7 B2 n" V# l4 ^4 R还可以问问老外7 r1 `. d: ^5 F  H
http://forum.xentax.com/
回复 支持 反对

使用道具 举报

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

本版积分规则

冒险解谜游戏中文网 ChinaAVG

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

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

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

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