質問
圧縮ファイルのスキャンはどのように行われますか?
回答
圧縮ファイルをスキャンする場合、スキャン前に製品側で圧縮ファイルを展開します。
圧縮ファイルかどうかの確認は、拡張子ではなくファイルのマジックナンバー(フォーマット識別子) によって認識されます。
※マジックナンバーは圧縮ファイルをバイナリモードでテキスト表示させた場合の 16 進の数バイトに記載されています。例えば ZIP の場合は 50 4B 03 04 が該当します
■ 圧縮ファイルを分割するソフトを利用した場合
多くの場合分割された1番目のファイルにマジックナンバーが含まれているため、この 1番目のファイルに対しては、圧縮ファイルとみなしてファイルを展開しようとします。
ところが2番目の分割ファイルの場合は展開ができずにエラーとなります。
マジックナンバーが含まれないほかの分割ファイルに対しては、圧縮ファイルと認識することができませんので、バイナリファイルとしてスキャンを実行することになります。
この場合、展開できなかったというエラーは出力されません。
■通常の圧縮ファイルの場合、
FMLIB とスキャンエンジンの両方で圧縮ファイルの展開を行います。
FMLIB はデフォルトでZIP、ARJ、LZH、CAB、RAR、TAR、GZIP、BZIP2/6 階層までに対応しています。
これらのファイルも含め、エンジンで展開するファイルもありますが、エンジンによってどのファイルがどの階層まで展開されるのかという情報は御座いません。