Rizin
unix-like reverse engineering framework and cli tools
|
#include <rz_analysis.h>
#include "../../asm/arch/avr/disassembler.h"
#include "../arch/avr/avr_esil.h"
#include "../arch/avr/avr_il.h"
Go to the source code of this file.
Functions | |
static void | set_invalid_op (RzAnalysisOp *op, ut64 addr) |
static void | handle_skip_next_instruction (RzAnalysisOp *op, ut64 addr, const ut8 *buf, int len, bool big_endian, AVROp *aop) |
static int | avr_op (RzAnalysis *analysis, RzAnalysisOp *op, ut64 addr, const ut8 *buf, int len, RzAnalysisOpMask mask) |
static char * | get_reg_profile (RzAnalysis *analysis) |
static int | archinfo (RzAnalysis *analysis, int q) |
static ut8 * | analysis_mask_avr (RzAnalysis *analysis, int size, const ut8 *data, ut64 at) |
static int | address_bits (RzAnalysis *analysis, int bits) |
Variables | |
RzAnalysisPlugin | rz_analysis_plugin_avr |
RZ_API RzLibStruct | rizin_plugin |
|
static |
Definition at line 362 of file analysis_avr.c.
References avr_disassembler(), AVR_OP_BRCC, AVR_OP_BRCS, AVR_OP_BREQ, AVR_OP_BRGE, AVR_OP_BRHC, AVR_OP_BRHS, AVR_OP_BRID, AVR_OP_BRIE, AVR_OP_BRLO, AVR_OP_BRLT, AVR_OP_BRMI, AVR_OP_BRNE, AVR_OP_BRPL, AVR_OP_BRSH, AVR_OP_BRTC, AVR_OP_BRTS, AVR_OP_BRVC, AVR_OP_BRVS, AVR_OP_CALL, AVR_OP_CPSE, AVR_OP_EIJMP, AVR_OP_IJMP, AVR_OP_JMP, AVR_OP_LDS, AVR_OP_RCALL, AVR_OP_RJMP, AVR_OP_SBIC, AVR_OP_SBRC, AVR_OP_STS, rz_analysis_t::big_endian, malloc(), avr_opcode_t::mask, memset(), avr_opcode_t::mnemonic, NULL, rz_analysis_op_free(), rz_strbuf_fini(), rz_strbuf_init(), rz_write_ble16(), sb, and avr_opcode_t::size.
|
static |
Definition at line 355 of file analysis_avr.c.
References RZ_ANALYSIS_ARCHINFO_MAX_OP_SIZE.
|
static |
Definition at line 34 of file analysis_avr.c.
References addr, avr_disassembler(), AVR_OP_ADIW, AVR_OP_ANDI, AVR_OP_BRCC, AVR_OP_BRCS, AVR_OP_BREAK, AVR_OP_BREQ, AVR_OP_BRGE, AVR_OP_BRHC, AVR_OP_BRHS, AVR_OP_BRID, AVR_OP_BRIE, AVR_OP_BRLO, AVR_OP_BRLT, AVR_OP_BRMI, AVR_OP_BRNE, AVR_OP_BRPL, AVR_OP_BRSH, AVR_OP_BRTC, AVR_OP_BRTS, AVR_OP_BRVC, AVR_OP_BRVS, AVR_OP_CALL, AVR_OP_CBI, AVR_OP_CPSE, AVR_OP_DES, AVR_OP_EICALL, AVR_OP_EIJMP, AVR_OP_ICALL, AVR_OP_IJMP, AVR_OP_IN, AVR_OP_JMP, AVR_OP_LDI, AVR_OP_LDS, AVR_OP_MOV, AVR_OP_MOVW, AVR_OP_ORI, AVR_OP_OUT, AVR_OP_RCALL, AVR_OP_RET, AVR_OP_RETI, AVR_OP_RJMP, AVR_OP_SBCI, AVR_OP_SBI, AVR_OP_SBIC, AVR_OP_SBIS, AVR_OP_SBIW, AVR_OP_SBRC, AVR_OP_SBRS, AVR_OP_STS, AVR_OP_SUBI, rz_analysis_t::big_endian, avr_opcode_t::cycles, handle_skip_next_instruction(), len, avr_opcode_t::mnemonic, avr_opcode_t::param, RZ_ANALYSIS_OP_FAMILY_CPU, RZ_ANALYSIS_OP_FAMILY_CRYPTO, RZ_ANALYSIS_OP_FAMILY_IO, RZ_ANALYSIS_OP_FAMILY_PRIV, RZ_ANALYSIS_OP_TYPE_CALL, RZ_ANALYSIS_OP_TYPE_CJMP, RZ_ANALYSIS_OP_TYPE_CRYPTO, RZ_ANALYSIS_OP_TYPE_ICALL, RZ_ANALYSIS_OP_TYPE_IJMP, RZ_ANALYSIS_OP_TYPE_IO, RZ_ANALYSIS_OP_TYPE_IRJMP, RZ_ANALYSIS_OP_TYPE_JMP, RZ_ANALYSIS_OP_TYPE_LOAD, RZ_ANALYSIS_OP_TYPE_MOV, RZ_ANALYSIS_OP_TYPE_NULL, RZ_ANALYSIS_OP_TYPE_RET, RZ_ANALYSIS_OP_TYPE_STORE, RZ_ANALYSIS_OP_TYPE_TRAP, rz_avr_esil_opcode(), rz_avr_il_opcode(), rz_strbuf_drain(), rz_strbuf_new(), sb, set_invalid_op(), and avr_opcode_t::size.
|
static |
Definition at line 242 of file analysis_avr.c.
|
static |
Definition at line 23 of file analysis_avr.c.
References addr, avr_disassembler(), len, RZ_ANALYSIS_OP_TYPE_CJMP, rz_strbuf_fini(), rz_strbuf_init(), sb, and avr_opcode_t::size.
Referenced by avr_op().
|
static |
Definition at line 11 of file analysis_avr.c.
References addr, RZ_ANALYSIS_OP_FAMILY_UNKNOWN, RZ_ANALYSIS_OP_TYPE_ILL, and rz_strbuf_set().
Referenced by avr_op().
RZ_API RzLibStruct rizin_plugin |
Definition at line 477 of file analysis_avr.c.
RzAnalysisPlugin rz_analysis_plugin_avr |
Definition at line 459 of file analysis_avr.c.