KUNAI Static Analyzer
Kunai is a library for doing static binary analysis of Dalvik.
|
Instruction for moving a given literal, the instruction has a register and a literal value, with a size of 2 bytes of instruction. More...
#include <dalvik_instructions.hpp>
Public Member Functions | |
Instruction11n (std::vector< uint8_t > &bytecode, std::size_t index, Parser *parser) | |
std::uint8_t | get_destination () const |
std::int8_t | get_source () const |
TYPES::Operand | get_destination_type () const |
TYPES::Operand | get_source_type () const |
virtual std::string | print_instruction () |
Return a string with the representation of the instruction. | |
virtual void | print_instruction (std::ostream &os) |
Print the instruction on a given stream. | |
![]() | |
Instruction (std::vector< uint8_t > &bytecode, std::size_t index, dexinsttype_t instruction_type) | |
Constructor of the Instruction, here is applied the parsing of the opcodes. | |
Instruction (std::vector< uint8_t > &bytecode, std::size_t index, dexinsttype_t instruction_type, std::uint32_t length) | |
virtual | ~Instruction ()=default |
Destructor of the instruction. | |
virtual TYPES::Kind | get_kind () const |
Get the kind of instruction, use a DalvikOpcodes function. | |
virtual dexinsttype_t | get_instruction_type () const |
Get the instruction type from the enum. | |
virtual std::uint32_t | get_instruction_length () const |
Get the length of the instruction. | |
virtual std::uint32_t | get_instruction_opcode () const |
Get the opcode of the instruction. | |
virtual void | set_address (std::uint64_t address) |
Set the address of the instruction. | |
virtual std::uint64_t | get_address () const |
Get the address of the instruction. | |
virtual const std::span< std::uint8_t > & | get_opcodes () |
Return the op codes in raw from the instruction. | |
virtual bool | is_terminator () |
Check if the instruction is a terminator (branch, ret, multibranch) | |
virtual bool | has_side_effects () const |
Instruction has or can have some side effect. | |
virtual bool | may_throw () const |
May throw an exception. | |
Additional Inherited Members | |
![]() | |
std::span< std::uint8_t > | op_codes |
Opcodes of the instruction. | |
std::uint32_t | length |
Length of the instruction. | |
std::uint32_t | op |
op code from the instruction | |
std::uint64_t | address |
address of the instruction | |
Instruction for moving a given literal, the instruction has a register and a literal value, with a size of 2 bytes of instruction.
|
inlinevirtual |
Return a string with the representation of the instruction.
Reimplemented from KUNAI::DEX::Instruction.
|
inlinevirtual |
Print the instruction on a given stream.
os | stream where to print the instruction |
Reimplemented from KUNAI::DEX::Instruction.