gta自由之城吧 关注:27,446贴子:793,185

【伪技术贴】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
    收起回复
      签名


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


        4楼2013-07-31 18:13
        回复
          你来了~


          来自Android客户端6楼2013-07-31 18:49
          收起回复
            这贴很不错哦~~~
            @软件也
            这贴肯定会J的


            7楼2013-07-31 19:24
            收起回复
              在顶下


              8楼2013-08-01 01:19
              回复

                可能目前咱们吧里没有程序员?
                你的基友哇哈哈和张又男被你吃了?
                还有tommyling最近在学c


                9楼2013-08-01 16:25
                收起回复
                  在定下


                  IP属地:四川10楼2013-08-01 16:53
                  收起回复
                    软件也可不可以做一个txd查看器?


                    11楼2013-08-01 16:53
                    收起回复
                      mark……


                      IP属地:广东来自iPhone客户端12楼2013-08-01 17:57
                      回复