Objetos Disassembler
Resumo
Os objetos Disassembler permitem desmontar o código para uma arquitetura específica.
Métodos de objeto
Nome | Tipo de retorno | Assinatura | Descrição |
---|---|---|---|
DisassembleBlocks | coleção de bloco básico | DisassembleBlocks(address) | Inicia a desmontagem no endereço e retorna uma coleção de blocos básicos. A desmontagem aqui é linearmente encaminhada do endereço em uma base instrução por instrução. Como isso não está executando a análise de fluxo completa de uma função, é inteiramente possível que haja saltos no meio dos blocos retornados por esse método. Haverá apenas um ponto de saída de cada um; No entanto. |
DisassembleInstructions | coleção de instruções | DisassembleInstructions(address) | Inicia a desmontagem no endereço. |
DisassembleFunction | coleção de bloco básico | DisassembleFunction(address) | Supondo que uma função comece no endereço, isso executará uma análise de fluxo completa da função. O resultado é uma coleção de blocos básicos com um ponto de entrada e um ponto de saída. |
GetRegister | register | GetRegister(regId) | Retorna um objeto de registro da ID de registro fornecida. |
Comentários
O desmontador fornecido aqui tem uma saída significativamente melhor de desmontagem se informações simbólicas completas estiverem presentes para a função desmontada (por exemplo: ela utilizará o endereço e o tamanho do operando para determinar qual campo de um struct/união está sendo tocado).
Uma determinada instância de um desmontador pode armazenar em cache uma quantidade significativa de dados para fornecer uma experiência melhor.