ExamineAssembly()
Syntaxe
Resultat = ExamineAssembly(*MemoireDébut [, *MemoireFin])Description
Désassemblage des instructions à partir d'une adresse mémoire.
Arguments
*MemoireDébut L'adresse en mémoire de la première instruction à désassembler.
Le désassemblage se déroulera jusqu'à ce que NextInstruction() ne soit plus appelé ou si *MemoireFin est spécifié.*MemoireFin (optionnel) L'adresse en mémoire de la dernière instruction à désassembler et NextInstruction() reverra zéro.
Valeur de retour
Renvoie une valeur non nulle si le désassemblage est possible, zéro sinon.
Remarques
Important: Les commandes de désassemblage utilisent la bibliothèque Udis86 disassembler pour décoder les instructions. Elle est disponible sous license BSD qui peut être consultée ici. Si ExamineAssembly() et ses autres commandes relatives sont utilisées dans un programme, le texte de licence ci-dessus devra être inclus avec le logiciel.
Exemple
DisableDebugger ; Désactive le Debugger Code_Start: ; Placer le code à désassembler ici a = (Random(100) * 5) + 2000 Code_End: Texte$ = "Code désassemblé: " + Chr(13) If ExamineAssembly(?Code_Start, ?Code_End) While NextInstruction() Texte$ + RSet(Hex(InstructionAddress()), SizeOf(Integer)*2, "0") Texte$ + " " + InstructionString() + Chr(13) Wend EndIf MessageRequester("Resultat", Texte$)
OS Supportés
Tous