プラグイン
プラグインはネイティブ DLL を通じて VB Decompiler の機能を拡張します。インストールされたプラグインは プラグイン (Plugins) メニューから利用可能です。コールバック API により、復元されたプロジェクト情報やコードへのアクセスが可能となり、プラグインがサポートされている内部構造を検査または修正できるようになります。
FRX Image Viewer
FRX Image Viewer 1.2.0 は、VB Decompiler または DE 逆コンパイラ (Decompiler) が登録した画像を表示・抽出します。VB5/6 および .NET のフォーム画像には VB Decompiler、Delphi のバイナリ DFM 画像には DE 逆コンパイラ を使用します。BMP、PNG、JPEG、GIF、ICO、CUR に対応しています。
インストールと起動
FRXViewer.dllをホストのインストール先にあるpluginsサブフォルダーへコピーし、逆コンパイラを再起動します。DLL のアーキテクチャは、解析対象ファイルではなくホストアプリケーションに合わせてください。- EXE または DLL を開き、フォームを解析してホストに画像を登録させます。
- プラグイン > FRX Image Viewer を選択し、サムネイルをクリックします。
1.2.0 ダウンロードには x86 ホスト用 DLL が含まれます。x64 ホストには対応するビルドが必要です。プラグインには Windows 10/11 が必要です。ビルド手順はソースコードリポジトリにあります。
プレビューとエクスポート
ギャラリーとプレビューには、複数の画像を含む ICO/CUR ファイルなどの利用可能な画像が表示されます。ステータス欄には項目、寸法、データサイズまたは元ビットマップのオフセット、形式が表示されます。ホストのテーマに追従し、ダークモードにも対応します。
Save to file を選択して項目をエクスポートします。独立した画像は元のバイト列と形式を保持します。ImageList の各セルはマスクとアルファ透過を保持した ICO として保存されます。この ICO は元のビットマップから生成されたものです。

ネイティブ Delphi ImageList と互換性
対応ホストでは、認識されたネイティブ Delphi ImageList が個別のアイコンとして表示されます。コレクション項目内で独立して符号化された画像は通常の個別画像のままです。未対応のストリームでは、元の画像エントリが利用できる場合、画像全体の処理を維持します。
VB Decompiler 26.6 と DE 逆コンパイラ 26.5 が対応する共通 SDK リビジョン 26.6 では、省略可能な GetFrxImageListInfo (63) と GetProductName (64) が追加されています。古いホストでは従来の画像 API と画像全体の処理を維持します。機能検出とオフセットの規則はSDK リファレンスを参照してください。
表示と抽出では、解析対象ファイルを実行せず、そのコンポーネントも読み込みません。アニメーション GIF は最初のフレームを表示します。利用可能なリソースは、ホストが正常に解析・登録した画像に依存します。
プラグインの開発
SDK には Visual C++、Rust、Delphi、Free Pascal 向けの例が含まれています。エクスポートされたエントリーポイント、コールバックシグネチャ、コマンド識別子、データ表現、および例プロジェクトへのリンクについては VB Decompiler プラグイン API リファレンス を参照してください。
DLL プラグインは名前と著者情報を提供し、VBDecompilerPluginLoad 経由でホストコールバックを受信します。このコールバックを使用してサポートされているプロジェクトデータを要求または更新します。このインターフェースを実装する際は、SDK の呼び出し規約、ポインタ、文字コード化、バッファ要件に従ってください。マネージド言語を使用する場合は、ネイティブインターフェースと互換性のある相互運用層を用意してください。
VB Decompiler は起動時に利用可能な DLL プラグインを初期化します。意図したホストアーキテクチャと Windows 環境向けにプラグインをビルドし、その環境で生成された DLL を検証してください。SDK はアクティブビューコードとプロジェクトレベルのコードアクセスの両方を公開しており、すべての逆コンパイル済みプロシージャを必要とする操作では、完全な逆コンパイルが必要です。必要に応じて生成したコード表示だけでは不十分です。
