ファイルヘッダーと内容を分析してファイル形式を検出します。任意のファイルをアップロードして、その形式、タイプ、詳細情報を特定します。
機能
- ファイルヘッダーとマジックナンバーの分析によるファイル形式の検出: 先頭バイト(マジックナンバー)を解析し、シグネチャデータベースと照合して形式を高精度で特定します。
- 数百種類の異なるファイル形式とタイプのサポート: 画像・動画・音声・ドキュメント・アーカイブ・実行可能ファイルまで幅広く対応し、署名は継続更新。
- 16進数とASCII形式でファイルヘッダーを表示: ヘッダーを16進/ASCIIで可視化し、技術調査・デバッグ・フォレンジック検証を支援します。
- サイズと拡張子を含む詳細なファイル情報の提供: ファイル名・サイズ・拡張子・検出形式・MIME などを提示し、拡張子と署名の不一致も警告します。
使用方法
- ステップ 1: 「ファイルを読み込む」をクリックして、コンピューターから任意のファイルを選択します。
- ステップ 2: ツールがファイルヘッダーと内容を分析して形式を決定します。
- ステップ3: ファイル形式、タイプ、プロパティに関する詳細情報を表示します。
技術詳細
マジックナンバーとファイルシグネチャ
ファイル形式の検出は、マジックナンバー(ファイルシグネチャ)に依存しています。これは、ファイルの先頭にある固有のバイトシーケンスで、そのタイプを識別します。各ファイル形式には特定のマジックバイトがあります:JPEGはFF D8 FFで始まり、PNGは89 50 4E 47(\x89PNG)、GIFは47 49 46 38(GIF8)、PDFは25 50 44 46(%PDF)、ZIPは50 4B 03 04(PK\x03\x04)で始まります。このツールはファイルの最初の512バイトを読み取り、包括的なマジックナンバーデータベースとパターンを照合します。高度な検出では次の分析を行います:ファイル拡張子の整合性(拡張子がシグネチャと一致しない場合に警告)、マルチシグネチャ形式(特定の内部構造を持つZIPを使用するOfficeドキュメント)、および埋め込みファイル検出(他のファイルを含むアーカイブ)。マジックナンバーデータベースには、MIMEタイプ、ファイルカテゴリ(画像、動画、音声、ドキュメント、アーカイブ、実行可能ファイル)、および詳細な形式バージョン(JPEG 2000対標準JPEG、PNGビット深度)が含まれます。
検出アルゴリズムとヘッダー分析
検出プロセスは多段階分析を使用します:バイナリファイル読み取り(FileReader APIがファイルをArrayBufferとして読み取り)、バイト配列変換(効率的なバイト操作のためのUint8Array)、シグネチャマッチング(最初のNバイトを既知のパターンと比較)、およびフォールバック検出(ヘッダーが認識されない場合のコンテンツ分析)。ヘッダー分析には次が含まれます:16進表現(技術的検査のためのバイトの16進表示)、ASCII解釈(ヘッダーから印刷可能な文字を表示)、エンディアン検出(リトルエンディアン対ビッグエンディアンのバイト順)、および構造検証(ファイル構造が宣言された形式と一致することを確認)。高度な機能の実装:部分ファイル読み取り(大きなファイルのヘッダーのみを分析し、完全なアップロードを回避)、ストリーミング検出(ファイルをチャンクごとに処理)、信頼度スコアリング(曖昧な形式のパーセンテージマッチ)、および拡張子検証(宣言された拡張子と検出された形式を比較し、不一致を警告)。このツールはエッジケースを処理します:空のファイル、切り詰められたファイル(不完全なダウンロード)、形式バリアント(BMP対デバイス独立ビットマップ)、および暗号化/圧縮コンテナ(外部形式を検出し、暗号化されたコンテンツに注意)。
セキュリティとデータ復旧における応用
ファイル形式検出は重要な役割を果たします:セキュリティ分析(安全な形式を装った悪意のあるファイルの検出、ドキュメント拡張子を持つ実行可能ファイルの識別)、データ復旧(未割り当てディスクスペース内のファイルタイプの識別、拡張子のないファイルの復旧)、フォレンジック調査(未知のファイルの分析、ファイル整合性の検証)、およびコンテンツフィルタリング(特定のファイルタイプのブロック、アップロードの検証)。このツールは次の支援をします:アップロード検証を実装する開発者(サーバー側形式検証)、疑わしいファイルを分析するセキュリティ研究者(マルウェアはしばしばファイルタイプを偽装)、ファイルポリシーを管理するシステム管理者(拡張子チェックを超えたコンテンツベースのフィルタリング)、および破損したファイルを識別するデータ復旧スペシャリスト。一般的な使用例には次が含まれます:二重拡張子の検出(file.pdf.exeで実行可能ファイルを隠す)、ポリグロットファイルの識別(複数の形式として有効でパーサーの違いを悪用)、ダウンロード整合性の検証(ファイルが破損していないことを確認)、および未知の形式のリバースエンジニアリング(形式分析の出発点)。ベストプラクティス:ファイル拡張子だけを信頼しない(簡単に名前変更可能)、サーバー側でマジックナンバーを検証(クライアント側チェックはバイパス可能)、更新されたシグネチャデータベースを維持(新しい形式が定期的に導入される)、および強力な識別のために複数の検出方法を組み合わせる(拡張子、マジックナンバー、コンテンツ分析、MIMEタイプ)。
よくある質問
- ファイルはサーバーにアップロードされますか?
- いいえ。検出はすべてブラウザ内でローカル実行され、ファイルは送信されません。
- 検出結果が拡張子と異なるのはなぜ?
- 拡張子は容易に変更できます。検出は拡張子よりも内容の署名(マジックナンバー)を優先します。
- ポリグロットファイルは正確に判定できますか?
- 複数の署名に合致する場合があります。最も高い信頼度を提示しますが、必要に応じてヘッダー詳細を確認してください。
- マジックナンバー(ファイル署名)とは?
- ファイル先頭にある特徴的なバイト列で、JPEG の FF D8 FF、PNG の 89 50 4E 47 などが代表例です。
- 本番環境のセキュリティ検査に使えますか?
- はい。ただしサーバー側検証と MIME/コンテンツ検査などの多層チェックと併用してください。
関連ドキュメント
- ファイルシグネチャデータベース - マジックナンバー - 形式識別用の包括的なファイルシグネチャとマジックナンバーデータベース
- RFC 6838 - メディアタイプ仕様 - IETF メディアタイプとMIMEタイプ登録の仕様
- MDN - FileReader API - ブラウザでファイルコンテンツとバイナリデータを読み取るWeb API
- Wikipedia - ファイルシグネチャリスト - 各種ファイル形式のシグネチャとマジックナンバーの詳細リスト
- ファイル識別ツール - パターンマッチングを使用した形式検出の無料ファイル識別ツール