Public Member Functions | Static Public Member Functions

BinNavi.API.reil.ReilInstruction Class Reference

Single REIL instruction. More...

Inherits BinNavi::APIHelpers::ApiObject< com.zynamics.reil.ReilInstruction >.

List of all members.

Public Member Functions

Address getAddress ()
 Address of the instruction.
ReilOperand getFirstOperand ()
 First operand of the instruction.
Map< String, String > getMetaData ()
 Metadata of the instruction.
String getMnemonic ()
 Mnemonic of the instruction.
ReilOperand getSecondOperand ()
 Second operand of the instruction.
ReilOperand getThirdOperand ()
 Third operand of the instruction.
 ReilInstruction (final Address address, final String mnemonic, final ReilOperand firstOperand, final ReilOperand secondOperand, final ReilOperand thirdOperand)
 Creates a new REIL instruction.
void setMetaData (final String key, final String value)
 Sets meta-data information of the REIL instruction.
String toString ()
 Printable representation of the instruction.

Static Public Member Functions

static ReilInstruction createAdd (final Address address, final ReilOperand firstOperand, final ReilOperand secondOperand, final ReilOperand thirdOperand)
 Creates a new ADD instruction.
static ReilInstruction createAnd (final Address address, final ReilOperand firstOperand, final ReilOperand secondOperand, final ReilOperand thirdOperand)
 Creates a new AND instruction.
static ReilInstruction createBisz (final Address address, final ReilOperand inputValue, final ReilOperand outputValue)
 Creates a new BISZ instruction.
static ReilInstruction createBsh (final Address address, final ReilOperand firstOperand, final ReilOperand secondOperand, final ReilOperand thirdOperand)
 Creates a new BSH instruction.
static ReilInstruction createDiv (final Address address, final ReilOperand firstOperand, final ReilOperand secondOperand, final ReilOperand thirdOperand)
 Creates a new DIV instruction.
static ReilInstruction createJcc (final Address address, final ReilOperand jumpCondition, final ReilOperand jumpTarget)
 Creates a new JCC instruction.
static ReilInstruction createLdm (final Address address, final ReilOperand loadSource, final ReilOperand loadTarget)
 Creates a new LDM instruction.
static ReilInstruction createMod (final Address address, final ReilOperand firstOperand, final ReilOperand secondOperand, final ReilOperand thirdOperand)
 Creates a new MOD instruction.
static ReilInstruction createMul (final Address address, final ReilOperand firstOperand, final ReilOperand secondOperand, final ReilOperand thirdOperand)
 Creates a new MUL instruction.
static ReilInstruction createNop (final Address address)
 Creates a new NOP instruction.
static ReilInstruction createOr (final Address address, final ReilOperand firstOperand, final ReilOperand secondOperand, final ReilOperand thirdOperand)
 Creates a new OR instruction.
static ReilInstruction createStm (final Address address, final ReilOperand storeValue, final ReilOperand storeTarget)
 Creates a new STM instruction.
static ReilInstruction createStr (final Address address, final ReilOperand storeValue, final ReilOperand storeTarget)
 Creates a new STR instruction.
static ReilInstruction createSub (final Address address, final ReilOperand firstOperand, final ReilOperand secondOperand, final ReilOperand thirdOperand)
 Creates a new SUB instruction.
static ReilInstruction createUndef (final Address address)
 Creates a new UNDEF instruction.
static ReilInstruction createUnknown (final Address address)
 Creates a new UNKNOWN instruction.
static ReilInstruction createXor (final Address address, final ReilOperand firstOperand, final ReilOperand secondOperand, final ReilOperand thirdOperand)
 Creates a new XOR instruction.

Detailed Description

Represents a single REIL instruction.


Constructor & Destructor Documentation

BinNavi.API.reil.ReilInstruction.ReilInstruction ( final Address  address,
final String  mnemonic,
final ReilOperand  firstOperand,
final ReilOperand  secondOperand,
final ReilOperand  thirdOperand 
)

Creates a new REIL instruction.

Parameters:
address Address of the new REIL instruction.
mnemonic Mnemonic of the new REIL instruction. In most cases this is one of the constants found in ReilMnemonics.
firstOperand First operand of the new REIL instruction.
secondOperand Second operand of the new REIL instruction.
thirdOperand Third operand of the new REIL instruction.

Member Function Documentation

static ReilInstruction BinNavi.API.reil.ReilInstruction.createAdd ( final Address  address,
final ReilOperand  firstOperand,
final ReilOperand  secondOperand,
final ReilOperand  thirdOperand 
) [static]

Creates a new ADD instruction.

Parameters:
address Address of the ADD instruction.
firstOperand First operand of the ADD instruction.
secondOperand Second operand of the ADD instruction.
thirdOperand Third operand of the ADD instruction.
Returns:
The created ADD instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createAnd ( final Address  address,
final ReilOperand  firstOperand,
final ReilOperand  secondOperand,
final ReilOperand  thirdOperand 
) [static]

Creates a new AND instruction.

Parameters:
address Address of the AND instruction.
firstOperand First operand of the AND instruction.
secondOperand Second operand of the AND instruction.
thirdOperand Third operand of the AND instruction.
Returns:
The created AND instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createBisz ( final Address  address,
final ReilOperand  inputValue,
final ReilOperand  outputValue 
) [static]

Creates a new BISZ instruction.

Parameters:
address Address of the BISZ instruction.
inputValue The input value of the BISZ instruction.
outputValue The output value of the BISZ instruction.
Returns:
The created BISZ instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createBsh ( final Address  address,
final ReilOperand  firstOperand,
final ReilOperand  secondOperand,
final ReilOperand  thirdOperand 
) [static]

Creates a new BSH instruction.

Parameters:
address Address of the BSH instruction.
firstOperand First operand of the BSH instruction.
secondOperand Second operand of the BSH instruction.
thirdOperand Third operand of the BSH instruction.
Returns:
The created BSH instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createDiv ( final Address  address,
final ReilOperand  firstOperand,
final ReilOperand  secondOperand,
final ReilOperand  thirdOperand 
) [static]

Creates a new DIV instruction.

Parameters:
address Address of the DIV instruction.
firstOperand First operand of the DIV instruction.
secondOperand Second operand of the DIV instruction.
thirdOperand Third operand of the DIV instruction.
Returns:
The created DIV instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createJcc ( final Address  address,
final ReilOperand  jumpCondition,
final ReilOperand  jumpTarget 
) [static]

Creates a new JCC instruction.

Parameters:
address Address of the JCC instruction.
jumpCondition Describes the jump condition of the JCC instruction.
jumpTarget Describes the jump target of the JCC instruction.
Returns:
The created JCC instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createLdm ( final Address  address,
final ReilOperand  loadSource,
final ReilOperand  loadTarget 
) [static]

Creates a new LDM instruction.

Parameters:
address Address of the LDM instruction.
loadSource Describes the memory address from which the LDM instruction reads.
loadTarget Describes the target register where the loaded value is stored.
Returns:
The created LDM instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createMod ( final Address  address,
final ReilOperand  firstOperand,
final ReilOperand  secondOperand,
final ReilOperand  thirdOperand 
) [static]

Creates a new MOD instruction.

Parameters:
address Address of the MOD instruction.
firstOperand First operand of the MOD instruction.
secondOperand Second operand of the MOD instruction.
thirdOperand Third operand of the MOD instruction.
Returns:
The created MOD instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createMul ( final Address  address,
final ReilOperand  firstOperand,
final ReilOperand  secondOperand,
final ReilOperand  thirdOperand 
) [static]

Creates a new MUL instruction.

Parameters:
address Address of the MUL instruction.
firstOperand First operand of the MUL instruction.
secondOperand Second operand of the MUL instruction.
thirdOperand Third operand of the MUL instruction.
Returns:
The created MUL instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createNop ( final Address  address  )  [static]

Creates a new NOP instruction.

Parameters:
address Address of the NOP instruction.
Returns:
The created NOP instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createOr ( final Address  address,
final ReilOperand  firstOperand,
final ReilOperand  secondOperand,
final ReilOperand  thirdOperand 
) [static]

Creates a new OR instruction.

Parameters:
address Address of the OR instruction.
firstOperand First operand of the OR instruction.
secondOperand Second operand of the OR instruction.
thirdOperand Third operand of the OR instruction.
Returns:
The created OR instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createStm ( final Address  address,
final ReilOperand  storeValue,
final ReilOperand  storeTarget 
) [static]

Creates a new STM instruction.

Parameters:
address Address of the STM instruction.
storeValue Describes the value that is stored by the STM instruction.
storeTarget Describes the memory address where the value is stored.
Returns:
The created STM instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createStr ( final Address  address,
final ReilOperand  storeValue,
final ReilOperand  storeTarget 
) [static]

Creates a new STR instruction.

Parameters:
address Address of the STR instruction.
storeValue Describes the value that is stored by the STR instruction.
storeTarget Describes the register where the value is stored.
Returns:
The created STR instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createSub ( final Address  address,
final ReilOperand  firstOperand,
final ReilOperand  secondOperand,
final ReilOperand  thirdOperand 
) [static]

Creates a new SUB instruction.

Parameters:
address Address of the SUB instruction.
firstOperand First operand of the SUB instruction.
secondOperand Second operand of the SUB instruction.
thirdOperand Third operand of the SUB instruction.
Returns:
The created SUB instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createUndef ( final Address  address  )  [static]

Creates a new UNDEF instruction.

Parameters:
address Address of the UNDEF instruction.
Returns:
The created UNDEF instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createUnknown ( final Address  address  )  [static]

Creates a new UNKNOWN instruction.

Parameters:
address Address of the UNKNOWN instruction.
Returns:
The created UNKNOWN instruction.
static ReilInstruction BinNavi.API.reil.ReilInstruction.createXor ( final Address  address,
final ReilOperand  firstOperand,
final ReilOperand  secondOperand,
final ReilOperand  thirdOperand 
) [static]

Creates a new XOR instruction.

Parameters:
address Address of the XOR instruction.
firstOperand First operand of the XOR instruction.
secondOperand Second operand of the XOR instruction.
thirdOperand Third operand of the XOR instruction.
Returns:
The created XOR instruction.
Address BinNavi.API.reil.ReilInstruction.getAddress (  ) 

Returns the address of the REIL instruction.

Returns:
The address of the REIL instruction.
ReilOperand BinNavi.API.reil.ReilInstruction.getFirstOperand (  ) 

Returns the first operand of the REIL instruction.

Returns:
The first operand of the REIL instruction.
Map<String, String> BinNavi.API.reil.ReilInstruction.getMetaData (  ) 

Returns a map that contains all meta-information associated with the instruction.

Returns:
The meta-data map.
String BinNavi.API.reil.ReilInstruction.getMnemonic (  ) 

Returns the mnemonic of the REIL instruction.

Returns:
The mnemonic of the REIL instruction.
ReilOperand BinNavi.API.reil.ReilInstruction.getSecondOperand (  ) 

Returns the second operand of the REIL instruction.

Returns:
The second operand of the REIL instruction.
ReilOperand BinNavi.API.reil.ReilInstruction.getThirdOperand (  ) 

Returns the third operand of the REIL instruction.

Returns:
The third operand of the REIL instruction.
void BinNavi.API.reil.ReilInstruction.setMetaData ( final String  key,
final String  value 
)

Sets meta-data information of the REIL instruction.

Parameters:
key They key of the piece of meta-data to set.
value The value of the piece of meta-data. If this value is null, the key is removed from the meta-data set.
String BinNavi.API.reil.ReilInstruction.toString (  ) 

Returns the string representation of the REIL instruction.

Returns:
The string representation of the REIL instruction.