1

ディレクトリとファイル エントリを含むアーカイブ ファイルを読み込もうとしています。ファイルのヘッダーを読み込んで情報を取得することができました。

ここでフォーマットに関する情報を見つけることができます

現在、ファイルには、ファイルの起点から 2048 バイトの後に始まる目次モジュールが含まれています。

私が知っているのは、TOCには2つのものを含めることができるということです:

次の構造に従うディレクトリ エントリ:

  • 4bytes :int32 : エントリ名が格納されている場所の名前オフセット
  • 4bytes : int32 : 情報フラグ。4 バイトの各ビットには、何かに関する情報が含まれています。
  • 4bytes : Uint32 : コンテンツ エントリ インデックス
  • 4bytes : uint32 : コンテンツのエントリ数

ファイルエントリは次の構造に従います。

  • 4bytes : int32 : 名前のオフセット
  • 4bytes : int32 : ファイルサイズ
  • 3bytes : Uint24 : ファイルが保存されている場所のオフセット
  • 1byte : Uchar8 : リソースタイプ
  • 4byte : uint32 : 情報フラグ

これで、すべてのディレクトリ エントリまたはファイル エントリが同じになります。

問題は、目次の最初が何なのか、すべてのエントリの順序がわからないことです。不明です。

私が知っているのは、ファイルヘッダーからです。エントリ数と、エントリの数と目次のサイズです。

バイナリリーダーを使用して、すべてのエントリを読み取る必要がある形式を見つけたり、特定の種類のエントリを見つけたりする方法はありますか?

ヘッダーからエントリ数を知っているので、これには for ループを使用します。

どんな助けでも大歓迎です

4

1 に答える 1