gta自由之城吧 关注:27,465贴子:793,237
  • 2回复贴,共1

【伪技术贴】IMG版本1的文件结构,希望对程序员有用

取消只看楼主收藏回复

可能目前咱们吧里没有程序员
但是相信这些资料对以后的程序员有用
结构:
DIR是一个目录文件,用于记录文件名、文件大小、文件在IMG中的位置。
而IMG则是一个用于储存文件的归档
DIR结构详解:
他是一个32字节(b)为一组的目录文件
每一组都记录了一个文件的文件名、文件大小、文件在IMG中的位置
按照:
4字节-记录偏移
4字节-记录大小
24字节-记录文件名,这正好解释了为什么IMG中的文件的文件名长度不能超过24字节
但是这里有必要说明一下,为什么短短的4字节就能储存偏移和大小的信息?
因为偏移和大小都是按2KB(2*1024字节)记录的,也就是说大小和偏移在记录的时候除以了一次2048B
我们取出偏移和大小后要*2048B才能还原它的大小和偏移
那么如何计算出文件个数?
刚才说了,DIR以32字节为一组记录文件
那么只需要取出DIR的文件长度(先用open(),再用lof()即可),再除以32字节即可还原出文件的个数
那么如何取出文件?(也就是导入导出的详细用法)
先取出文件偏移,再取出文件长度,接着从IMG中,从偏移位置开始,读出文件长度的长度,即可导出文件
重命名直接重新刷写记录即可
附上MODDING的讲解:
Entry: (repeated n times)
4 byte - DWORD - offset of file inside archive (in blocks)
4 byte - DWORD - size of file (in blocks)
24 byte - CHAR[24] - name of file
@放假最快乐 两件事= =
1.申请精品
2.申请小吧


1楼2013-07-31 18:10回复
    这贴在咱吧貌似没法归类啊


    2楼2013-07-31 18:11
    收起回复
      另外此贴还有一个作用
      我怕我以后忘了
      还能再回来翻出来看看


      4楼2013-07-31 18:13
      回复