hfspax

アーカイブを解こうとすると、ustar形式のヘッダがおかしいんじゃ、ボケ、と怒鳴られる。怒鳴られて、処理が途中で止まる。

嫌な予感を感じつつ、俺はバイナリエディタアーカイブを開いた。ustar形式は、格納しているファイルごとに512バイト固定長のヘッダを持つ。その後ろに、ファイルのデータが512で割り切れる長さでくっつく。だから、例えば、800バイトのデータは、

  • 512バイトのustar形式ヘッダ
  • 512バイトのファイルデータ
  • 278バイトのファイルデータ+埋め草234バイト

のようにアーカイブ化される。だが、hfspaxは、FINFリソースを格納するときに、おかしなustar形式のデータ、512バイトで割り切れないデータを作成する。

そりゃ元に戻らんだろ。