ExamineAssembly()

Syntax

Ergebnis = ExamineAssembly(*Adresse [, *EndAdresse])
Beschreibung
Initialisiert das Disassemblieren an der angegebenen Adresse bzw. Adressbereichs.

Wichtig: Die Disassembler Befehle verwenden die Udis86 Disassembler Library, um die Anweisungen zu dekodieren. Diese Bibliothek wurde unter der BSD-Lizenz veröffentlicht, welche hier eingesehen werden kann. Wenn ExamineAssembly() und zugehörige Befehle in einem Programm verwendet werden, das öffentlich gemacht werden soll, muss der oben verlinkte Lizenz-Text mit in die Software aufgenommen werden.

Parameter

'*Adresse' spezifiert die Adresse der ersten zu disassemblierenden Anweisung. Wenn '*EndAdresse' angegeben wird, dann endet das Disassemblieren (NextInstruction() wird 0 zurückgeben), sobald '*EndAdresse' erreicht wird. Wenn '*EndAdresse' nicht angegeben wird, dann läuft das Disassemblieren bis NextInstruction() nicht länger aufgerufen wird.

Rückgabewert

Gibt einen Wert ungleich Null zurück, wenn das Disassemblieren möglich ist, andernfalls Null.

Beispiel:

  DisableDebugger ; kein Disassemblieren von Debugger-relevanten Anweisungen
  
  Code_Start:
    ; Platziere Code zum Disassemblieren hier
    a = (Random(100) * 5) + 2000
  Code_End:
  
  Text$ = "Disassemblierter Code: " + Chr(13)  
  If ExamineAssembly(?Code_Start, ?Code_End)
    While NextInstruction()
      Text$ + RSet(Hex(InstructionAddress()), SizeOf(Integer)*2, "0")
      Text$ + " " + InstructionString() + Chr(13)
    Wend
  EndIf
  
  MessageRequester("Ergebnis", Text$)

Unterstützte OS

Windows, Linux, MacOS X (x86)

<- ErrorTargetAddress() - OnError Inhaltsverzeichnis - InstructionAddress() ->