Disassembler Objects
Summary
Disassembler objects enable the ability to disassemble code for a specific architecture.
Object Methods
Name | Return Type | Signature | Description |
---|---|---|---|
DisassembleBlocks | collection of basic block | DisassembleBlocks(address) | Starts disassembling at address and returns a collection of basic blocks. The disassembly here is linearly forward from address on an instruction-by-instruction basis. Since this is not performing complete flow analysis of a function, it is entirely possible that there may be jumps into the middle of blocks returned by this method. There will only be a single exit point from each; however. |
DisassembleInstructions | collection of instruction | DisassembleInstructions(address) | Starts disassembling at address. |
DisassembleFunction | collection of basic block | DisassembleFunction(address) | Assuming a function starts at address, this performs a complete flow analysis of the function. The result is a collection of basic blocks with one entry point and one exit point. |
GetRegister | register | GetRegister(regId) | Returns a register object from the given register id. |
Remarks
The disassembler provided here has significantly better disassembly output if full symbolic information is present for the disassembled function (e.g.: it will utilize address and operand size to determine what field of a struct/union is being touched).
A given instance of a disassembler may cache a significant amount of data in order to provide a better experience.