DPL ファイル形式とは?
.dpl ファイルは Delphi Package Library であり、1997 年に Borland Delphi 3 で導入された Windows DLL 形式の動的リンクライブラリです。これは標準的な Windows PE 実行ファイルであり、ユニット依存関係テーブル、エクスポートされたクラスおよびプロシージャシンボル、コンパイル済みの Delphi オブジェクトコードなど、Delphi 固有のパッケージメタデータが含まれています。このファイルは、Delphi IDE およびランタイムによって認識される RegisterModule エントリポイントをエクスポートします。
.dpl 形式は短命でした。Borland は 1998 年の Delphi 4 でこれを .bpl (Borland Package Library) に置き換えました。現代の Delphi 開発では .bpl のみが使用されており、.dpl ファイルは Delphi 3 時代のプロジェクトでのみ遭遇する古い遺物です。
.dpl ファイルは標準的な Windows PE/DLL 実行ファイルであるため、Dependency Walker (depends.exe) や CFF Explorer などの汎用 PE 検査ツールを使用して、エクスポートおよびインポートテーブルを読み取ることができます。
.dpl 拡張子は、以下の 2 つの無関係な形式でも使用されます:
- KakaoTalk PotPlayer は、メディアファイルのパスをリストしたプレーンテキストの
.dplファイルとしてメディアプレイリストを保存します。 - 開発終了した DPL Digital Photo Librarian アプリケーション (Oneil Software) は、独自の画像データベースに
.dplを使用していました。
ファイルのコンテキスト(Delphi プロジェクトディレクトリか、メディアプレーヤーの設定フォルダか)を確認すれば、通常はその .dpl ファイルがどの形式であるかを判断するのに十分です。
セキュリティと安全性
リスク: MEDIUMDPL は PE 実行ファイル/DLL です。他の DLL と同様に注意して取り扱ってください。信頼できないソースからの DPL ファイルをロードしないでください。悪意のある DPL は、Delphi IDE やランタイムによってロードされた際に任意のコードを実行する可能性があります。
形式の詳細
概要- KakaoTalk PotPlayer プレイリスト - PotPlayer (Windows メディアプレーヤー) は、メディアファイルのパスをリストしたプレーンテキストのプレイリストファイルとして .dpl を使用します。
- DPL Digital Photo Librarian データベース - Oneil Software の DPL Digital Photo Librarian 写真カタログアプリ(開発終了)用の独自データベースです。
DPL ファイルを開くプログラム
技術的詳細
詳細仕様| エンコーディング | バイナリ |
| バイト順序 | リトルエンディアン (Windows PE) |
| コンテナ | Windows PE (Portable Executable) DLL |
| マジックバイト | 0x4D 0x5A («MZ») - 標準的な Windows PE/DLL ヘッダー |
| 一般的なファイルサイズ | 50 KB - 5 MB |
| Delphi バージョン | Delphi 3 (1997, Borland Software) |
| 後継形式 | Delphi 4 (1998) 以降の .bpl (Borland Package Library) |
| エクスポートされたエントリポイント | RegisterModule - Delphi IDE およびランタイムによって認識 |
| 内部コンテンツ | ユニット依存関係テーブル、エクスポートされたクラス/プロシージャシンボル、コンパイル済みの Delphi オブジェクトコード |
| OS | Windows のみ |
| 無関係な用途 | PotPlayer プレイリスト(プレーンテキスト)、開発終了した DPL Digital Photo Librarian データベース |
| 検出に関する注意 | MZ ヘッダーだけでは Delphi パッケージとして識別できません。Delphi 固有の PE セクションが必要です |
| リリース日 | 1997 (Delphi 3) |
DPL の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。DPL ファイルについて最初の質問をしてみましょう。