beaengine

Members

Enums

Archi
enum Archi

Specify the architecture used for the decoding

BranchType
enum BranchType

Enumerates the possible branche types

DisasmOpts
enum DisasmOpts

This field allows you to define some display options. You can specify the syntax : masm, nasm, goasm or AT&T. You can specify the number format you want to use : prefixed numbers or suffixed ones. You can even add a tabulation between the mnemonic and the first operand or display the segment registers used by the memory addressing.

FlagState
enum FlagState

Enumerates the possible consequences the instruction have on an Eflag.

InstrCat
enum InstrCat

Enumerates the possible instruction categories

InstrSet
enum InstrSet

Enumerates the possible instruction sets

Functions

disassemble
int disassemble(DisasmParams* params)

The Disasm function allows you to decode all instructions coded according to the rules of IA-32 and Intel 64 architectures. It makes a precise analysis of the focused instruction and sends back a complete structure that is usable to make data-flow and control-flow studies. Disasm is able to decode all the documented intel instructions (standard instructions, FPU, MMX, SSE, SSE2, SSE3, SSSE3 ,SSE4.1, SSE4.2, VMX, CLMUL and AES technologies) and undocumented ones like SALC, FEMMS (instruction AMD), HINT_NOP, ICEBP and aliases.

Structs

Argument
struct Argument

Describes an instruction argument

DisasmParams
struct DisasmParams

This structure is used to store the mnemonic, source and destination operands. You just have to specify the address where the engine has to make the analysis.

Eflags
struct Eflags

This structure gives information on the EFLAG registers.

InstrType
struct InstrType

Output structure describing an instruction

MemType
struct MemType

This structure gives information on the memory access type, according to the formula BaseRegister + IndexRegister*Scale + Displacement]

Meta