Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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.