|
KUNAI Static Analyzer
Kunai is a library for doing static binary analysis of Dalvik.
|
Sparse switch instruction present in methods which make use of this kind of data, this contain the keys. More...
#include <dalvik_instructions.hpp>


Public Member Functions | |
| SparseSwitch (std::vector< uint8_t > &bytecode, std::size_t index, Parser *parser) | |
| std::uint16_t | get_size_of_targets () const |
| const std::vector< std::tuple< std::int32_t, std::int32_t > > & | get_keys_targets () const |
| std::vector< std::tuple< std::int32_t, std::int32_t > > & | get_keys_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. | |
Public Member Functions inherited from KUNAI::DEX::Instruction | |
| 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 | |
Protected Attributes inherited from KUNAI::DEX::Instruction | |
| 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 | |
Sparse switch instruction present in methods which make use of this kind of data, this contain the keys.
|
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.