|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
『CubeICE 0.3.0β』について <Feb.18,2011>「主要形式書庫の作成に加え展開については多数の形式に対応し, 業務用途としてもフリーで使用可能」といった理由から, 利用が増えてきている (らしい) CubeICE の 0.3.0β が登場しましたので, 試してみました。 このページでは, CubeICE 0.3.0β での制限等について簡単に記述してあります。 ●CubeICE が作成する書庫についてCubuICE は LZH 書庫の作成に対応していません。 一応念のため。 (^^;) ●属性について笑えることに, CubeICE は LZH 書庫の属性情報を扱うことが出来ません。 h0~h2 の どの形式であったとしても, 属性情報については失われます。 恐らく属性拡張ヘッダーの存在を知らない上に, 基本ヘッダーの属性項目を未定義データーとして扱っているのでしょう。 h1 形式以降でもブランクではないのですけれどね。 ●タイムスタンプについて基本ヘッダーに記録されている情報のみ扱われますので, 多くのツールと同様, 更新日時のみ復元が行われ, h2 形式ヘッダー未満の書庫については, NTFS ファイルシステムであっても ftime 形式 (2 秒単位) でタイムスタンプが扱われます。 この辺りについては, オリジナルの LHA.EXE を含めた多くのアプリと同様となっていますので, 大きな問題は発生しないものと思われます。 ●ファイルサイズについて2GB 以上 4GB 未満のファイルについては正常に扱われます。 4GB を超えるものについては UNLHA32.DLL の独自ヘッダーに対応していないことから正常に扱われません。 基本ヘッダーに記録されている 32 ビットのサイズ情報に基づいて展開を行ってしまい, その結果エラーとなります。 ●lhd 形式 (ディレクトリー) メンバーについて正常に扱われますが, タイムスタンプは比較的多くのアプリと同様に復元されません。 ●圧縮形式についてlh4 / lh5 / lh6 / lh7 形式が扱えます。 その他の形式については, 一覧表示は行えるものの扱うことはできません。 (エラーとなります。) メソッド ID と実際のメソッドが異なるメンバー (lh6 と lh7 形式メソッドの区別されていなかった時期が存在するため, そのような書庫が存在します。) の主なものについては, 以下のとおりです。 展開に失敗した場合, 当該メンバーの残骸が残ってしまうことのある点に注意が必要となります:
●書庫形式についてh0/h1/h2 形式が扱えますので, 通常, 問題は発生しないものと思われます。 ●ヘッダー CRC チェックについてCubeICE では基本ヘッダーの SUM チェックしか行われず, ヘッダー CRC については読込が行われません。 従って, h2 形式の全て, 多くの h1 形式, そして (Linux 上などで作成された) h0 形式の書庫については, ヘッダー改竄・破損の確認が行われません。 攻撃書庫の多くはヘッダー改竄を伴っていますので, そういった意味では危険性が高いと言えます。 ●「指定外の場所へファイルが展開されてしまう脆弱性」の問題について絶対パスをもつものや, 親ディレクトリーを示す ".." のパス情報をもつメンバーについては, 不正なものとしてエラー扱いされるようになっています。 が, 情報に含まれているパス情報に基づいて, ディレクトリーの構築を行ってしまいます。 (展開先の配下となる部分のみ。) ●「バッファーオーバーフロー」の問題について1000 文字といった長い名前をもったメンバー等の存在する書庫については, 不正書庫としてエラーが表示され扱われないようになっています。 これらの不正なパス情報等をもったファイルについては以下のとおりです:
|