Im Extras Menü gibt es eine sehr nützliche Funktion - Dekompiliere von VA (Decompile jeglichen Code von der angegebenen virtuellen Adresse). Das Hauptmerkmal dieser Funktion ist, dass sie nicht erfordert, dass die zu dekompilierende Datei eine korrekte Struktur hat und auf übliche Weise verarbeitet wurde. Natürlich wird der Code in diesem Fall mit einer Reihe von Einschränkungen dekompiliert. Zum Beispiel, wenn importierte Funktionen oder OLE-Objekte nicht vorverarbeitet wurden, wird der Code an diesen Stellen uninformative sein.
Um einen bestimmten Code innerhalb einer Datei zu dekompilieren, müssen Sie einfach die virtuelle Adresse dieses Codes angeben (wenn wir von Native Code oder .NET Assembly sprechen) oder einen ProcInfo-Strukturverweis angeben (wenn wir von klassischem Visual Basic P-Code sprechen). Die Einzigartigkeit der Arbeit mit solchem P-Code besteht darin, dass die ProcInfo-Struktur ein Array von Daten enthält, die vom Code verwendet werden. Ohne dieses Array ist es unmöglich zu bestimmen, mit welchen Funktionen der Code arbeitet, auf welche Zeichenfolgen er sich bezieht usw. Im Falle der Arbeit mit .NET Assemblies bietet der Decompiler nach Eingabe der Adresse eine Auswahl zwischen dem Dekompilieren des Codes als MS IL Pseudo-Code oder dem Disassemblieren dieses Codes an. Diese Option ist darauf zurückzuführen, dass .NET Assemblies sowohl MS IL Pseudo-Code (managed code) als auch Maschinencode (sogenannter unmanaged code) enthalten können.
Wenn die Datei bereits im Decompiler geöffnet
ist, müssen Sie einfach die Dekompiliere von VA Funktion aufrufen und die Adresse zur Verarbeitung angeben. Wenn die Datei noch nicht geöffnet wurde, wird dies automatisch vorgeschlagen und die Datei wird im vereinfachten Modus geöffnet.
Die Funktion Dekompiliere von VA ist besonders nützlich, wenn der gewünschte Code nicht automatisch dekompiliert wird oder wenn die Datei teilweise beschädigt ist und eine Dekomprimierung mit standardmäßigen Tools verhindert. Natürlich sollten Sie verstehen, dass das Ergebnis der Dekompilierung in diesem Fall schlechter sein wird als bei einer Standard-Dekompilierung.