CRX ファイル形式とは?
.crx ファイル拡張子は、Google Chrome およびその他の Chromium ベースのブラウザで使用されます。.crx ファイルは Chrome 拡張機能パッケージ であり、ブラウザのプラグインや拡張機能のインストールファイルです。実際には、JavaScript (.js)、マニフェスト (.json)、CSS スタイルシート、HTML ページ、画像アセットなど、拡張機能の動作と外観を定義するさまざまなファイルで構成されるパッケージです。
.crx ファイルは、Google Chrome に新しい機能を追加したり、カスタムテーマやインタラクティブな要素を使用して UI を変更したりするために使用されます。Microsoft Edge、Brave、Opera などの Chromium ベースのブラウザもこの形式をサポートしています。
ZIP 圧縮とファイル構造
.crx ファイルは ZIP 圧縮を使用してファイルサイズを小さくし、インターネット経由で共有しやすくしています。.crx ファイルは 7-Zip などのデータアーカイブツールを使用して開くことができます。ただし、.crx は単なる ZIP ではありません。すべてのファイルは、マジックバイト Cr24 (16進数 43 72 32 34) で始まるバイナリヘッダーから始まり、暗号化署名と公開鍵が埋め込まれています。標準的なアーカイブツールはこのヘッダーを認識できない場合があるため、ZIP コンテンツを展開する前にヘッダーを取り除く必要があります。
現在の CRX3 形式は Chrome 75 (2019年6月) 以降必須となっており、古い CRX2 署名スキームに代わるものです。開発者は .PEM ファイルに保存された秘密鍵を使用してパッケージに署名し、対応する公開鍵が .crx ヘッダーに埋め込まれます。MIME タイプは application/x-chrome-extension です。
配布とインストール
ほとんどの .crx ファイルは Chrome ウェブストアを通じてダウンロードおよびインストールできます。インストールが成功すると、ブラウザは自動的に .crx ファイルを削除します。カスタムの .crx ファイルはディスクから手動でインストールできますが、ストア以外からのインストールの場合は、Chrome の拡張機能設定で デベロッパー モード を有効にする必要があります。
セキュリティと安全性
リスク: HIGHCRX は、アクセスしたページ、クッキー、および(権限によっては)パスワードや履歴にアクセスできる実行可能なブラウザコードです。Chrome ウェブストア以外からインストールすると、Google の審査やマルウェアスキャンをバイパスすることになります。そのため、サイドロードされた CRX ファイルはサイドロードされたアプリと同様に扱い、信頼できる開発者のものだけをインストールしてください。最新の Chrome が CRX の安易なインストールを意図的にブロックしているのはこのためです。不審な CRX は、読み込む前に拡張子を .zip に変更して manifest.json(特に «permissions» リスト)を確認してください。ランダムなサイトからの «無料プレミアム拡張機能» の CRX ダウンロードには注意してください。その多くはアドウェアやデータ窃盗目的です。
形式の詳細
概要- CryENGINE / CRYENGINE リソースファイル - 一部のゲームエンジンやツールは、コンパイルされたリソースやアーカイブデータに .crx を使用しますが、Chrome 拡張機能とは無関係です。
- IBM/Lotus およびその他のレガシーアプリデータ - 一部の古いビジネスアプリケーションは、内部データファイルに .crx を使用していました。これらはアプリ固有のものであり、ブラウザ拡張機能ではありません。
CRX ファイルを開くプログラム
技術的詳細
詳細仕様| マジックバイト | オフセット 0 に Cr24 (16進数 43 72 32 34)。4-7 バイト目が CRX バージョン番号 |
| 形式のタイプ | バイナリ CRX ヘッダーが付加された署名済み ZIP アーカイブ |
| 現在の形式バージョン | CRX3 - Chrome 75 (2019年6月) 以降必須 |
| レガシー形式バージョン | CRX2 - Chrome 75 以前に使用。最新の Chrome では受け入れられません |
| CRX3 ヘッダー構造 | マジックバイト、バージョンフィールド、ヘッダー長、その後に公開鍵の証明を含む protobuf シリアル化された SignedData ブロック |
| 署名アルゴリズム | RSA-2048 と SHA-256 (CRX2); AsymmetricKeyProof protobuf 構造 (CRX3) |
| MIME タイプ | application/x-chrome-extension |
| ペイロード圧縮 | ZIP (DEFLATE) - 標準の ZIP アーカイブはヘッダーの直後から開始 |
| 必須のルートファイル | manifest.json - 拡張機能の名前、バージョン、権限、エントリポイントを宣言 |
| 拡張機能 ID の派生 | 拡張機能の公開鍵の SHA-256 ハッシュから派生した 32 文字の小文字文字列 |
| 開発者キーファイル | パッケージの署名に使用される .pem (RSA 秘密鍵)。対応する公開鍵は CRX ヘッダーに埋め込まれます |
| ストア外インストール | chrome://extensions でデベロッパー モードを有効にする必要あり。企業導入では ExtensionInstallForcelist グループポリシーを使用 |
| インストール後の動作 | インストールが成功した後、Chrome はディスクから .crx ファイルを自動的に削除します |
| 互換性のあるブラウザ | Google Chrome, Microsoft Edge (v79+), Brave, Opera, Vivaldi, およびその他の Chromium ベースのブラウザ |
| リリース日 | 2010 (CRX2); CRX3 format mandatory since Chrome 75, June 2019 |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | developer.chrome.com |
CRX の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。CRX ファイルについて最初の質問をしてみましょう。