Nachdem Sie die Datei gewählt und die Decompile-Taste gedrückt haben, sehen Sie nach kurzem Warten die Architektur der dekompilierten Datei. Auf der linken Seite des Fensters finden Sie Formulare, Module und Prozeduren. Auf der rechten Seite sehen Sie den Inhalt der ausgewählten Prozedur oder Funktion.
Wir möchten auf Elemente der Symbolleiste hinweisen. Über dem Baum der Objekte befinden sich zwei Pfeiltasten, mit denen Sie im Verlauf vor- und zurückspringen können (diese Buttons erscheinen nach dem Öffnen von zwei oder mehr Funktionen), sowie den Namen des internen Formats Ihrer Datei und zwei Modi der Dekompilierung: Parse-Stack-Parameter, Prozeduranalysator bzw. -optimierer. Sprechen wir genauer darüber.
Mit den Pfeiltasten und kann man in der Historienansicht von Funktionen springen. Wenn Sie zwischen den Funktionen des Programms springen, ist es manchmal nützlich, zur vorherigen Funktion zurückzukehren. Aus diesem Grund speichert der VB Decompiler den Verlauf der Ansichtsfunktionen und nach dem Öffnen von zwei oder mehr Funktionen werden die Navigationstasten verfügbar. Diese Tasten erinnern an das Springen durch Strg + G und den Menüpunkt Zur virtuellen Adresse springen.
Über das interne Format der Datei. Es ist eine Art von Code, in dem das Programm kompiliert wurde. Diese Art von Code definiert direkt eine Qualität der Dekompilierung und wie nah ein Ergebnis zum Quellcode ist. Momentan unterstützt der VB Decompiler folgende Arten von Formaten: P-Code, Maschienencode, .NET Assembly. Weitere Details zu diesen Codetypen finden Sie in der Beschreibung.
Sprechen wir genauer über die Modi der Dekompilierung. Jeder dieser Modi arbeitet "on the fly", wenn die schnelle Dekompilierung aktiviert ist. Wenn die schnelle Dekompilierung nicht aktiviert ist, müssen Sie, sobald alle Kontrollkästchen aktiviert sind, die Dekompilierung erneut starten. Jeder der beschriebenen Modi funktioniert für verschiedene Dateiformate unterschiedlich.
Wenn Sie eine P-Code-Datei dekompilieren, aktiviert der Parse-Stapelparametermodus Faltungsoperationen mit Stack. Zum Beispiel, der Code:
push var_b
push Rnd
call %x1(%x2)
wird umgewandelt in:
call Rnd(var_b)
Das Deaktivieren dieses Modus ist sinnvoll, wenn der Prototyp einer Funktion nicht definiert ist und der Inhalt eines Stapels verschluckt und nicht angezeigt wird. Wenn Sie eine Maschienencode-Datei dekompilieren und die Parse-Stack-Parameter deaktivieren, wird ein Code in Assembler angezeigt. Wenn dieser Modus aktiviert ist, wird der Code vom Emulator analysiert und in einen einfacheren Code zum Lesen umgewandelt.
Der Modus der Code-Analyse bzw. -optimierung aktiviert eine tiefgehende Optimierung des Listings. Fragmentierte Blöcke der Befehle sind vereint. Nicht verwendete Variablen werden bereinigt. Der Code wird dem Quellcode näher. Dieser Modus funktioniert ähnlich für P-Code und Maschienencode.
Derzeit unterstützt der VB Decompiler diese Modi für die .NET-Assemblys nicht.