CHM ファイル形式とは?
.chm は Microsoft Compiled HTML Help ファイルであり、アプリケーションやシステム機能のヘルプドキュメントを保存するために使用される Windows ヘルプモジュールです。.chm ドキュメントは、ウェブサイトで使用されるのと同じ形式である HTML ソースファイルから構築され、単一の自己完結型バイナリアーカイブにコンパイルされます。Windows では、.chm ファイルは Windows 98 以降のすべてのバージョンに搭載されている hh.exe (HTML Help) でネイティブに開くことができます。xCHM や SumatraPDF などの専用のサードパーティ製リーダーも利用可能です。
この形式は、Microsoft 独自の ITSF (Info-Tech Storage Format) コンテナを使用しており、オフセット 0 にある 4 バイトのファイルシグネチャ ITSF で識別できます。コンテナ内では、HTML トピック、画像、CSS、およびインデックス テーブルが LZX 圧縮を使用して圧縮されています。そのため、ファイルはバラバラのファイルのフォルダーではなく、単一のコンパクトなアーカイブとして表示されます。.chm の前身は古い .HLP WinHelp 形式で、1997 年に置き換えられました。
ヘルプファイルにはソフトウェアのドキュメントが含まれています。一般的な .chm ファイルはツリー状の構造でセクションに分かれており、アプリケーションの使用方法、機能、よくある質問などを網羅しています。.chm は Internet Explorer の MSHTML エンジンを介してレンダリングされるため、ネットワーク共有からコピーされたファイルやインターネットからダウンロードされたファイルは、«Mark of the Web» ブロックと呼ばれる Windows のセキュリティ制限により、空白のページが表示されることがあります。プロパティダイアログでファイルのブロックを解除すると、通常の表示に戻ります。
.chm ファイルはポータブルで自己完結型です。1 つのファイルにすべてのトピック、画像、ナビゲーションが含まれています。この形式はレガシーと見なされていますが(Microsoft の新しいシステムでは .hxs やオンラインドキュメント配信が使用されています)、.chm ファイルは現在の Windows でも追加のソフトウェアなしで正しく開くことができます。
セキュリティと安全性
リスク: MEDIUMCHM はスクリプトやショートカット/HTML-Help コマンドを埋め込むことができる HTML コンテナであり、フィッシングキャンペーンで使用される実行ファイルを起動する悪意のある CHM や、古いビューアーの脆弱性など、マルウェアに悪用された実例があります。信頼できるソースからの CHM ファイルのみを開くようにしてください。Windows は、«Mark of the Web» を介してインターネット/ネットワークから開かれた CHM のコンテンツを意図的にブロックします(すべてのページが空白になります)。ファイルを信頼する場合は、右クリック > プロパティ > ブロックの解除 を行うか、ローカルドライブに移動してください。予期しない .chm 添付ファイルは、他の実行可能な添付ファイルと同様に扱ってください。
形式の詳細
概要CHM ファイルを開くプログラム
技術的詳細
詳細仕様| コンテナ形式 | ITSF (Info-Tech Storage Format) - アーカイブ内のすべての仮想ファイルをインデックス化する内部 ITSP ディレクトリを備えた、Microsoft 独自の複合ストレージ |
| マジックバイト | オフセット 0 に 4 バイトの ASCII シグネチャ ITSF (16進数 49 54 53 46)。直後にリトルエンディアンの DWORD バージョンフィールド(通常 HTML Help 1.x では 03 00 00 00)が続く |
| バイト順序 | すべてのヘッダーおよびディレクトリ構造においてリトルエンディアン |
| 圧縮 | HTML コンテンツセクションに LZX 圧縮を適用。同じ LZX バリアントは Microsoft Cabinet (.cab) ファイルでも使用されている |
| MIME タイプ | application/vnd.ms-htmlhelp (登録済み); application/x-chm および application/octet-stream も広く使用されている |
| 内部構造 | ITSF ヘッダー + 仮想ファイルをリストする ITSP ディレクトリ。コンテンツセクションには、HTML トピック、画像、CSS、#SYSTEM/#STRINGS メタデータブロック、および #TOPICS/#URLTBL URL インデックステーブルが含まれ、すべて LZX 圧縮されている |
| Windows ビューアー | Windows 98 以降のすべての Windows バージョンに存在する ActiveX コントロール hhctrl.ocx を使用する hh.exe (HTML Help 実行ファイル)。個別のインストールは不要 |
| レンダリングエンジン | Internet Explorer MSHTML。 .chm 内の HTML と CSS は IE と同様にレンダリングされるため、IE 固有の動作に依存していた非常に古いファイルでは表示に不具合が生じることがある |
| 暗号化 | コンテンツは LZX 圧縮されているが暗号化はされていない。アーカイブは 7-Zip や hh.exe -decompile コマンドなどのツールを使用して直接解凍できる |
| 整合性チェック | 組み込みの CRC やデジタル署名はない。破損した .chm は単に解凍に失敗するか、コンテンツが表示されず、ビューアーからエラーの詳細は表示されない |
| 一般的なファイルサイズ | 数十 KB から約 100 MB まで。ほとんどのソフトウェアヘルプファイルは 1〜10 MB の範囲に収まる |
| プラットフォームサポート | Windows では hh.exe を介してネイティブ対応。Linux (xCHM, KchmViewer, Calibre) および macOS (CHMOX, xCHM, Calibre) ではサードパーティ製ビューアーを使用 |
| ネットワークセキュリティ制限 | ネットワーク共有から開かれた、またはインターネットからダウンロードされたファイルは、Windows の Mark of the Web ポリシーによってブロックされ、トピックページが空白になる。ファイルのプロパティダイアログでブロックを解除すると、フルアクセスが復元される |
| ITSF ヘッダーレイアウト | 作成タイムスタンプ、Windows LCID (言語コード)、およびコンテンツと変換セクションを識別する 2 つの GUID を含む 56 バイトのバージョン 3 ヘッダー |
| リリース日 | 1997 (HTML Help 1.0, with Windows 98) |
| 最新バージョン | HTML Help 1.4 (ships with Windows; runtime hhctrl.ocx, no new versions since early 2000s) |
| 仕様書 | www.nongnu.org |
CHM の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。CHM ファイルについて最初の質問をしてみましょう。