我正在尝试读取包含目录和文件条目的存档文件。我已经设法读出文件的标题并获取信息。
您可以在此处找到有关格式的信息
现在该文件包含一个目录模块,从文件源开始 2048 个字节后开始。
我所知道的是 TOC 可以包含两件事:
遵循以下结构的目录条目:
- 4bytes :int32 : 存储条目名称的名称偏移量
- 4bytes : int32 : Information flags , 4 个字节的每一位都包含关于某事的信息
- 4bytes : Uint32 : 内容入口索引
- 4bytes : uint32 : 内容条目计数
文件条目遵循以下结构:
- 4bytes : int32 : 名称偏移量
- 4字节:int32:文件大小
- 3bytes : Uint24 : 文件存储位置的偏移量
- 1byte : Uchar8 : 资源类型
- 4byte : uint32 : 信息标志
现在这对于每个目录条目或文件条目都是一样的。
问题是我不知道目录中的第一个或每个条目的顺序是什么,这是未知的。
我所知道的是文件头,是条目数,有多少条目和目录大小。
无论如何用二进制阅读器找出我需要阅读每个条目的形式或找出它是什么特定类型的条目?
我将为此使用 for 循环,因为我知道标题中的条目数。
感谢任何帮助