ROSE 0.11.145.147
|
Instruction decoders.
A "disassembler" in ROSE is any class capable of decoding a sequence of bytes to construct a single SgAsmInstruction AST. All decoders derive from the Disassembler::Base decoder whose most important member function is disassembleOne, which decodes one instruction from a byte sequence specified by a MemoryMap and a virtual address (VA) within the map.
Classes | |
class | Base |
Virtual base class for instruction disassemblers. More... | |
class | Cil |
CIL Disassembler. More... | |
class | Exception |
Exception thrown by the disassemblers. More... | |
class | Jvm |
JVM Disassembler. More... | |
class | M68k |
Disassembler for Motorola M68k-based instruction set architectures. More... | |
class | Mips |
MIPS32 instruction decoder. More... | |
class | Null |
Disassembler for nothing. More... | |
class | Powerpc |
Disassembler for the PowerPC architecture. More... | |
class | X86 |
Disassembler for the x86 architecture. More... | |
Typedefs | |
using | Aarch32Ptr = Sawyer::SharedPointer< Aarch32 > |
using | Aarch64Ptr = Sawyer::SharedPointer< Aarch64 > |
using | BasePtr = Sawyer::SharedPointer< Base > |
using | M68kPtr = Sawyer::SharedPointer< M68k > |
using | MipsPtr = Sawyer::SharedPointer< Mips > |
using | NullPtr = Sawyer::SharedPointer< Null > |
using | PowerpcPtr = Sawyer::SharedPointer< Powerpc > |
using | X86Ptr = Sawyer::SharedPointer< X86 > |
Functions | |
void | initDiagnostics () |
Initializes and registers disassembler diagnostic streams. | |
const std::string & | name (const BasePtr &) |
Disassembler name free function. | |
Variables | |
Sawyer::Message::Facility | mlog |
Reference counted pointer for Intel X86 decoder. | |
using Rose::BinaryAnalysis::Disassembler::Aarch32Ptr = typedef Sawyer::SharedPointer<Aarch32> |
Definition at line 26 of file Rose/BinaryAnalysis/Disassembler/BasicTypes.h.
using Rose::BinaryAnalysis::Disassembler::Aarch64Ptr = typedef Sawyer::SharedPointer<Aarch64> |
Definition at line 29 of file Rose/BinaryAnalysis/Disassembler/BasicTypes.h.
using Rose::BinaryAnalysis::Disassembler::BasePtr = typedef Sawyer::SharedPointer<Base> |
Definition at line 32 of file Rose/BinaryAnalysis/Disassembler/BasicTypes.h.
using Rose::BinaryAnalysis::Disassembler::M68kPtr = typedef Sawyer::SharedPointer<M68k> |
Definition at line 35 of file Rose/BinaryAnalysis/Disassembler/BasicTypes.h.
using Rose::BinaryAnalysis::Disassembler::MipsPtr = typedef Sawyer::SharedPointer<Mips> |
Definition at line 38 of file Rose/BinaryAnalysis/Disassembler/BasicTypes.h.
using Rose::BinaryAnalysis::Disassembler::NullPtr = typedef Sawyer::SharedPointer<Null> |
Definition at line 41 of file Rose/BinaryAnalysis/Disassembler/BasicTypes.h.
using Rose::BinaryAnalysis::Disassembler::PowerpcPtr = typedef Sawyer::SharedPointer<Powerpc> |
Definition at line 44 of file Rose/BinaryAnalysis/Disassembler/BasicTypes.h.
using Rose::BinaryAnalysis::Disassembler::X86Ptr = typedef Sawyer::SharedPointer<X86> |
Definition at line 47 of file Rose/BinaryAnalysis/Disassembler/BasicTypes.h.
void Rose::BinaryAnalysis::Disassembler::initDiagnostics | ( | ) |
Initializes and registers disassembler diagnostic streams.
const std::string & Rose::BinaryAnalysis::Disassembler::name | ( | const BasePtr & | ) |
Disassembler name free function.
This is a convenient way to obtain a disassembler's name without having to include "Base.h", and is therfore useful in header files that try to include a minimal number of type definitions.
|
extern |
Reference counted pointer for Intel X86 decoder.
Disassembler diagnostic streams.