KUNAI Static Analyzer
Kunai is a library for doing static binary analysis of Dalvik.
|
In case there is an incorrect instruction this one holds all the opcodes and the length of previous instruction. More...
#include <dalvik_instructions.hpp>
Public Member Functions | |
DalvikIncorrectInstruction (std::vector< uint8_t > &bytecode, std::size_t index, std::uint32_t length) | |
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 | |
In case there is an incorrect instruction this one holds all the opcodes and the length of previous 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.