Packages | Classes | Enumerations

Package BinNavi.API.reil

Contains classes to convert code to REIL. More...

Packages

package  mono
 

Contains classes of the code analysis framework MonoREIL.


Classes

class  InternalTranslationException
 Exception that indicates REIL translation issues. More...
class  ReilBlock
 Basic block of REIL code. More...
class  ReilEdge
 Edge between REIL blocks. More...
class  ReilFunction
 Function of REIL code. More...
class  ReilGraph
 REIL code flowgraph. More...
class  ReilHelpers
 Provides oft-used REIL functions. More...
class  ReilInstruction
 Single REIL instruction. More...
class  ReilMnemonics
 Contains constants for all native REIL mnemonics. More...
class  ReilOperand
 Single REIL instruction operand. More...
class  ReilTranslator
 Translates native code to REIL code. More...
class  ViewGenerator
 Generates new views from REIL instructions. More...

Enumerations

enum  NativeArchitecture { X86_32, PPC_32, ARM_32, REIL }
enum  OperandSize {
  OPERAND_SIZE_ADDRESS, OPERAND_SIZE_BYTE, OPERAND_SIZE_DWORD, OPERAND_SIZE_EMPTY,
  OPERAND_SIZE_QWORD, OPERAND_SIZE_WORD
}
enum  OperandType { EMPTY, INTEGER_LITERAL, REGISTER, SUB_ADDRESS }

Detailed Description

The package BinNavi.API.reil contains classes that can be used to convert native assembly code into REIL (Reverse Engineering Intermediate Language) code and to work with the generated REIL code.


Enumeration Type Documentation

Architecture identifier that is used to specify the source architecture of input code that is translated to REIL code.

Enumerator:
X86_32 

Identifies input code as 32bit x86 code

PPC_32 

Identifies input code as 32bit PowerPC code

ARM_32 

Identifies input code as 32bit ARM code

REIL 

Identifies input code as REIL code

Describes the size of REIL operands.

Enumerator:
OPERAND_SIZE_ADDRESS 

Operand is an Address

OPERAND_SIZE_BYTE 

Operand is 1 byte large

OPERAND_SIZE_DWORD 

Operand is 4 bytes large

OPERAND_SIZE_EMPTY 

Operand does not exist

OPERAND_SIZE_QWORD 

Operand is 8 bytes large

OPERAND_SIZE_WORD 

Operand is 2 bytes large

Describes the type of an operand.

Enumerator:
EMPTY 

Operand is unused.

INTEGER_LITERAL 

Operand is an integer literal.

REGISTER 

Operand is a register.

SUB_ADDRESS 

Operand is a sub-address