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.