Plugins

Plugins erweitern VB Decompiler über native DLLs. Installierte Plugins sind im Menü Plugins verfügbar. Die Callback-API bietet Zugriff auf wiederhergestellte Projektinformationen und Code, sodass ein Plugin unterstützte interne Strukturen inspizieren oder modifizieren kann.

FRX Image Viewer

FRX Image Viewer 1.2.0 zeigt und extrahiert Bilder, die VB Decompiler oder DE Decompiler registriert hat. Verwenden Sie VB Decompiler für Formulargrafiken aus VB5/6 und .NET und DE Decompiler für Grafiken aus binären Delphi-DFM-Daten. Unterstützt werden BMP, PNG, JPEG, GIF, ICO und CUR.

Installation und Aufruf

  1. Kopieren Sie FRXViewer.dll in das Unterverzeichnis plugins der Hostinstallation und starten Sie den Decompiler neu. Die DLL-Architektur muss zur Hostanwendung passen, unabhängig von der Architektur der untersuchten Datei.
  2. Öffnen Sie die EXE- oder DLL-Datei und lassen Sie ihre Formulare dekodieren, damit der Host die verfügbaren Bilder registriert.
  3. Wählen Sie Plugins > FRX Image Viewer und anschließend ein Vorschaubild.

Der Download für 1.2.0 enthält eine DLL für einen x86-Host. Ein x64-Host benötigt einen passenden Build. Das Plugin erfordert Windows 10/11; Buildanweisungen stehen im Quellcode-Repository.

Vorschau und Export

Galerie und Vorschau zeigen die verfügbaren Bilder einschließlich zusammengesetzter ICO/CUR-Dateien. Der Statusbereich zeigt Element, Abmessungen, Größe oder Offset der Quellbitmap und Format. Das Plugin übernimmt das Hostdesign und unterstützt den dunklen Modus.

Wählen Sie Save to file, um das ausgewählte Element zu exportieren. Eigenständige Bilder behalten ihre ursprünglichen Bytes und ihr Format. Einzelne ImageList-Zellen werden als ICO mit Masken und Alphatransparenz exportiert; diese ICO-Dateien werden aus den Quellbitmaps erzeugt.

FRX Image Viewer in DE Decompiler mit Delphi-DFM-Grafiken und einzelnen ImageList-Symbolen.
FRX Image Viewer in DE Decompiler mit Delphi-DFM-Grafiken und einzelnen ImageList-Symbolen.

Native Delphi-ImageLists und Kompatibilität

Mit einem kompatiblen Host erscheinen erkannte native Delphi-ImageLists als einzelne Symbole. Separat kodierte Bilder in Collection-Einträgen bleiben eigenständige Bildeinträge. Nicht unterstützte Streams behalten die Ganzbilddarstellung, sofern ursprüngliche Bildeinträge verfügbar sind.

Die gemeinsame SDK-Revision 26.6, unterstützt von VB Decompiler 26.6 und DE Decompiler 26.5, ergänzt die optionalen Befehle GetFrxImageListInfo (63) und GetProductName (64). Ältere Hosts behalten die bisherige Bild-API und Ganzbilddarstellung. Details zur Fähigkeitserkennung und zu Offsets enthält die SDK-Referenz.

Vorschau und Extraktion führen die untersuchte Datei nicht aus und laden deren Komponenten nicht. Animierte GIFs zeigen das erste Bild. Verfügbar sind nur Bilder, die der Host erfolgreich dekodiert und registriert hat.

Entwicklung eines Plugins

Das SDK enthält Beispiele für Visual C++, Rust, Delphi und Free Pascal. Sehen Sie sich die VB Decompiler Plugin-API-Referenz für exportierte Einstiegspunkte, Callback-Signaturen, Befehlsidentifikatoren, Datenrepräsentationen und Links zu den Beispielprojekten an.

Ein DLL-Plugin liefert seine Namen- und Autorinformationen und empfängt den Host-Callback über VBDecompilerPluginLoad. Der Callback wird verwendet, um unterstützte Projektdaten abzurufen oder zu aktualisieren. Befolgen Sie die Aufrufkonvention, Zeiger-, Zeichenkodierungs- und Pufferanforderungen des SDK bei der Implementierung dieser Schnittstelle; stellen Sie bei der Verwendung einer verwalteten Sprache eine kompatible Schnittstelle zum nativen Code sicher.

VB Decompiler initialisiert verfügbare DLL-Plugins beim Start. Erstellen Sie Plugins für die beabsichtigte Host-Architektur und Windows-Umgebung und überprüfen Sie die erzeugte DLL in dieser Umgebung. Das SDK stellt sowohl Code-Zugriff für den aktiven Ansichtsbereich als auch projektabhängigen Code-Zugriff bereit; Operationen, die alle dekompilierten Prozeduren erfordern, benötigen eine vollständige Dekompilierung statt nur eines bei Bedarf erstellten Listings.