CapstoneImpl

Class template that encapsulates an architecture-specific instance of the Capstone dissassembly engine

Note that all architecture-specific instances, like CapstoneX86, instantiate and derive from this one.

Constructors

this
this(in Arch arch, in ModeFlags modeFlags)

Creates an architecture-specific instance with a given mode of interpretation

Members

Functions

customMnemonic
void customMnemonic(in TInstructionId id, in string mnem = null)

Defines a custom mnemonic for a specified instruction id

Inherited Members

From Capstone

arch
Arch arch;

The architecture this Capstone instance is set up for

mode
auto mode [@property getter]

Gets the mode of interpretation

mode
ModeFlags mode [@property setter]

Sets the mode of interpretation

syntax
auto syntax [@property getter]

Gets the disassembly syntax variant

syntax
Syntax syntax [@property setter]

Sets the disassembly syntax variant

detail
auto detail [@property getter]

Indicates whether instructions will be disassembled in detail

detail
bool detail [@property setter]

Sets whether instructions will be disassembled in detail

skipData
auto skipData [@property getter]

Indicates whether SKIPDATA mode of operation is in use

skipData
bool skipData [@property setter]

Sets whether to use SKIPDATA mode of operation

setupSkipdata
void setupSkipdata(in string mnemonic = ".byte", Callback callback = null)

Customises behaviour in SKIPDATA mode of operation

disasm
const(Instruction)[] disasm(in ubyte[] code, in ulong address, in size_t count = 0)

Disassemble binary code, given the code buffer, start address and number of instructions to be decoded

disasmIter
InstructionRange disasmIter(in ubyte[] code, in ulong address)

Provides a range to iteratively disassemble binary code - one instruction at a time

Meta