KUNAI Static Analyzer
Kunai is a library for doing static binary analysis of Dalvik.
|
Packed Switch instruction present in methods which make use of this kind of data. More...
#include <dalvik_instructions.hpp>
Public Member Functions | |
PackedSwitch (std::vector< uint8_t > &bytecode, std::size_t index, Parser *parser) | |
std::uint16_t | get_number_of_targets () const |
std::int32_t | get_first_key () const |
const std::vector< std::int32_t > & | get_targets () const |
std::vector< std::int32_t > & | get_targets () |
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 | |
Packed Switch instruction present in methods which make use of this kind of data.
|
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.