Nach Auswahl einer Datei und dem Drücken der Dekompilieren-Schaltfläche und einer kurzen Wartezeit erscheint die Struktur des dekompilierten Projekts auf dem Bildschirm. Auf der linken Seite des Fensters befindet sich ein Baumansicht von Formularen, Modulen und Prozeduren. Der Inhalt der ausgewählten Prozedur oder Funktion wird im rechten Abschnitt angezeigt. Wenn der Fensterstil wie in Visual Studio in den Optionen aktiviert ist, wird der Objektbaum rechts platziert, wobei der Code links angezeigt wird.
Besondere Aufmerksamkeit sollte den Elementen der Symbolleiste gewidmet werden. Über dem Objektbaum befinden sich zwei Pfeiltasten zum Navigieren vorwärts und rückwärts durch die Verlaufsfunktionen (erscheinen nach dem Öffnen von zwei oder mehr Funktionen), der Name des internen Dateiformats und zwei Modi der Dekompilierung: Stackparameter analysieren und Prozeduranalysator und -optimierer. Wir werden uns unten jeden dieser Elemente genauer ansehen.
Die Pfeiltasten dienen zum Navigieren durch die Verlaufsfunktionen. Manchmal ist es nützlich, zu einer vorherigen Funktion zurückzukehren, wenn man eine Funktion eines dekompilierten Programms durchsucht, und dann erneut zurückzukehren. VB Decompiler behält den Verlauf der angesehenen Funktionen bei, und nach dem Öffnen von zwei oder mehr Funktionen erscheinen Navigationsbuttons. Diese Buttons merken sich auch Navigationsschritte über die Tastenkombination Strg + G oder durch die entsprechende Menüoption Gehe zu virtuellen Adresse.
Als Nächstes folgt der Name des internen Dateiformats. Genauer gesagt handelt es sich dabei um den Code-Typ, der in das Programm kompiliert wurde. Dieser Typ beeinflusst direkt die Qualität der Dekompilierung und den Grad der Ähnlichkeit zwischen den Ergebnissen und dem Original-Quellcode. Derzeit werden die folgenden Formate unterstützt: P-Code, Native Code, .NET Assembly. Für eine detaillierte Beschreibung all dieser Typen siehe die Beschreibung.
Nun sprechen wir über die Dekompilierungsmodi. Jeder dieser Modi funktioniert sofort, wenn Schnelle Dekompilierung aktiviert ist. Ist Schnelle Dekompilierung deaktiviert, müssen Sie nach dem Setzen der erforderlichen Kontrollkästchen die Dekompilierung neu starten. Jeder der unten beschriebenen Dekompilierungsmodi funktioniert unterschiedlich für verschiedene Dateiformate.
Für P-Code-Dateien beinhaltet "Analyse der Stackparameter" das Entfalten von Stackoperationen, die Umwandlung von Befehlen wie:
push var_b
push Rnd
call %x1(%x2)
in eine verständlichere Form:
call Rnd(var_b)
Das Deaktivieren dieses Modus ist relevant in Fällen, in denen der Funktionsprototyp unbekannt ist und der Inhalt des Stapels vom Dekompiler verschluckt wird und nicht angezeigt wird.
Für Native Code wird, wenn der Modus Stackparameter analysieren deaktiviert ist, der Code in Assembler (sogenannter Maschinencode) ausgegeben. Bei aktiviertem Modus wird der Code von einem Emulator verarbeitet und in eine lesbarere Form umgewandelt (wenn Assembler-Code in Code umgewandelt wird, der dem Visual Basic-Code näher kommt).
Der Modus Prozeduranalysator und
-optimierer umfasst eine tiefe Optimierung des generierten Listings. Befehlsblöcke werden kombiniert, nicht verwendete Variablen und Hilfsstrukturen werden entfernt. Der Code nähert sich dem Originalquellcode an. Dieser Modus funktioniert ähnlich für P-Code und Native Code.
Für .NET Assembly funktioniert das Wechseln der Modi derzeit ähnlich wie für P-Code, da der Pseudocode MS IL in eine Form umgewandelt wird, die dem C#-Code näher kommt.
Diese Funktionen werden im Laufe der Zeit weiterentwickelt und verbessert.