API ファイル形式とは?
.api 拡張子は、Windows 上の Adobe Acrobat または Acrobat Reader に機能を追加するバイナリ拡張モジュールである Adobe Acrobat プラグインを識別するものです。その名称にかかわらず、.api ファイルはソフトウェア開発の概念である «アプリケーションプログラミングインターフェース» とは関係ありません。この拡張子は単に Acrobat Plug-In の略称です。
Windows では、.api ファイルは構造的に標準の .DLL (Portable Executable 形式、PE32 または PE32+) の拡張子を変更したものです。ファイルの最初の2バイトは常に 4D 5A であり、これはすべての Windows 実行ファイルやライブラリに共通する ASCII の MZ マジックヘッダーです。Acrobat が起動すると、インストールディレクトリの plug_ins サブフォルダをスキャンし、そこにあるすべての .api ファイルを自身のプロセスにロードして、各プラグインを初期化するためにエクスポートされた PlugInMain シンボルを呼び出します。
プラグインは Acrobat SDK Core API に基づいて ANSI C または C++ で記述されており、特定の Acrobat メジャーリリースに密接に ABI 結合されています。Acrobat DC 用にコンパイルされたプラグインは、大幅に古いバージョンでは正しくロードされません。一般的な用途には、カスタム PDF ワークフロー、電子署名パネル、ドキュメント管理の統合、出版ツールによって追加される DRM レイヤーなどがあります。
macOS では、Acrobat は .api ファイルの代わりに .acroplugin バンドルを使用します。そのプラットフォームには .api ファイルは存在しません。これらのファイルには発行元による Authenticode デジタル署名が含まれている場合がありますが、それ以外は暗号化も圧縮もされていません。
セキュリティと安全性
リスク: HIGH.api プラグインは Acrobat 自体と同じ権限で Acrobat 内部で動作するネイティブコードであるため、悪意のあるものは信頼できない DLL/EXE と同様に危険です。Acrobat プラグインは公式ベンダーまたは信頼できる発行元からのみインストールし、コード署名されたプラグインを優先してください。また、広告ポータルからの «無料の Acrobat プラグイン» のダウンロードには注意してください。名称の混同に注意してください。«API ファイルを開く» と検索する人はテキストやソースを期待していることが多いですが、これはドキュメントではなくバイナリ拡張機能です。
形式の詳細
概要- 汎用アプリケーション API / 設定データ - いくつかの無関係なプログラム(一部のゲーム、MedCalc、特定の設定ツールなど)が、Acrobat プラグインではなくデータや設定として .api ファイルを書き出すことがあります。
API ファイルを開くプログラム
技術的詳細
詳細仕様| ファイル構造 | .dll の代わりに .api 拡張子を持つ標準的な Windows PE32/PE32+ DLL バイナリ |
| マジックバイト | オフセット 0 に 4D 5A («MZ») - すべての Windows DLL および EXE に存在する DOS/PE 実行可能スタブヘッダー |
| バイト順序 | リトルエンディアン (x86/x64 Portable Executable 形式) |
| エクスポートされたエントリポイント | PlugInMain - ロード後に各プラグインを初期化するために Acrobat が呼び出す必須のエクスポートシンボル |
| ロードの仕組み | Acrobat および Reader は起動時に «plug_ins» ディレクトリをスキャンし、見つかったすべての .api ファイルをホストプロセスにロードする |
| API バージョン結合 | 特定の Acrobat メジャーバージョンの ABI に紐付けられている。あるリリース用に構築されたプラグインは、大幅に異なるバージョンでは確実にはロードされない |
| 開発言語 | Acrobat SDK Core API のヘッダーとインポートライブラリに対してコンパイルされた ANSI C / C++ |
| MIME タイプ | application/octet-stream |
| プラットフォーム対応 | Windows のみ - macOS では、Acrobat プラグインは .api ファイルではなく .acroplugin バンドルとしてパッケージ化される |
| コード署名 | プラグイン発行元によるオプションの Authenticode デジタル署名。PE チェックサムはオプションヘッダーに格納される |
| 圧縮 | 非圧縮の PE バイナリ - 個々のコードセクションはコンパイラによって最適化されている場合があるが、ファイル自体はアーカイブ圧縮されていない |
| 暗号化 | 暗号化されていないネイティブマシンコード。発行元の信頼性は暗号化ではなく、オプションの Authenticode 署名を通じて確立される |
| 一般的なファイルサイズ | プラグインの複雑さと同梱されるリソースに応じて、数十 KB から数 MB |
| 一般的なユースケース | PDF ワークフローの自動化、電子署名パネル、DRM の強制、ドキュメント管理の統合、カスタムプリントパイプライン |
| リリース日 | 1990s (Acrobat plug-in architecture) |
| 最新バージョン | Tracks the Acrobat SDK / Acrobat DC plug-in API |
| 仕様書 | opensource.adobe.com |
API の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。API ファイルについて最初の質問をしてみましょう。
よくある質問
Adobe の .api ファイルを開いたりインストールしたりするにはどうすればよいですか?
.api ファイルは DLL と同じものですか?
PlugInMain エクスポートを呼び出します。ただし、Acrobat 内部でしか動作しません。