Freigeben über


Disassemblerobjekte

Zusammenfassung

Disassemblerobjekte ermöglichen das Disassemblieren von Code für eine bestimmte Architektur.

Objektmethoden

Name Rückgabetyp Signatur BESCHREIBUNG
DisassembleBlocks Sammlung des Basisblocks DisassembleBlocks(address) Startet die Disassemblierung an der Adresse und gibt eine Sammlung von Grundlegenden Blöcken zurück. Die Disassemblierung erfolgt hier linear von der Adresse auf Anweisungsbasis. Da dadurch keine vollständige Flussanalyse einer Funktion durchgeführt wird, ist es durchaus möglich, dass es Sprünge in die Mitte der Blöcke gibt, die von dieser Methode zurückgegeben werden. Von jedem gibt es nur einen einzigen Ausgangspunkt; Jedoch.
DisassembleInstructions Sammlung von Anweisungen DisassembleInstructions(address) Startet die Disassemblierung an der Adresse.
DisassembleFunction Sammlung des Basisblocks DisassembleFunction(address) Wenn eine Funktion bei der Adresse beginnt, wird eine vollständige Flussanalyse der Funktion durchgeführt. Das Ergebnis ist eine Sammlung von Basisblöcken mit einem Einstiegspunkt und einem Ausgangspunkt.
GetRegister register GetRegister(regId) Gibt ein Registerobjekt aus der angegebenen Register-ID zurück.

Bemerkungen

Der hier bereitgestellte Disassembler verfügt über eine deutlich bessere Disassemblierungsausgabe, wenn vollständige symbolische Informationen für die disassemblierte Funktion vorhanden sind (z. B. wird die Adress- und Operandengröße verwendet, um zu bestimmen, welches Feld einer Struktur/Union berührt wird).

Ein gegebener instance eines Disassemblers kann eine erhebliche Menge an Daten zwischenspeichern, um eine bessere Benutzererfahrung zu gewährleisten.