Rizin
unix-like reverse engineering framework and cli tools
|
#include <rz_analysis.h>
Public Attributes | |
RzAnalysis * | analysis |
char ** | stack |
ut64 | addrmask |
int | stacksize |
int | stackptr |
ut32 | skip |
int | nowrite |
int | iotrap |
int | exectrap |
int | repeat |
int | parse_stop |
int | parse_goto |
int | parse_goto_count |
int | verbose |
ut64 | flags |
ut64 | address |
ut64 | stack_addr |
ut32 | stack_size |
int | delay |
ut64 | jump_target |
int | jump_target_set |
int | trap |
ut32 | trap_code |
ut64 | old |
ut64 | cur |
ut8 | lastsz |
HtPP * | ops |
RzStrBuf | current_opstr |
RzIDStorage * | sources |
HtUP * | interrupts |
Sdb * | stats |
RzAnalysisEsilTrace * | trace |
RzAnalysisEsilCallbacks | cb |
char * | cmd_step |
char * | cmd_step_out |
char * | cmd_intr |
char * | cmd_trap |
char * | cmd_mdev |
char * | cmd_todo |
char * | cmd_ioer |
char * | mdev_range |
bool(* | cmd )(ANALYSIS_ESIL *esil, const char *name, ut64 a0, ut64 a1) |
void * | user |
int | stack_fd |
Definition at line 1042 of file rz_analysis.h.
ut64 rz_analysis_esil_t::address |
Definition at line 1058 of file rz_analysis.h.
Referenced by capstone.CsInsn::__repr__(), __stepOut(), add_string_ref(), esil_address(), esil_asr(), esil_asreq(), esil_eq(), esil_lsreq(), esil_mod(), esil_neg(), esil_peek_n(), esil_signed_mod(), esilbreak_mem_read(), esilbreak_reg_write(), evalWord(), internal_esil_mem_read(), internal_esil_mem_write(), rz_analysis_esil_parse(), and rz_analysis_esil_set_pc().
ut64 rz_analysis_esil_t::addrmask |
Definition at line 1045 of file rz_analysis.h.
Referenced by internal_esil_mem_read(), internal_esil_mem_read_no_null(), internal_esil_mem_write(), internal_esil_mem_write_no_null(), rz_analysis_esil_mem_read(), rz_analysis_esil_mem_write(), and rz_analysis_esil_new().
RzAnalysis* rz_analysis_esil_t::analysis |
Definition at line 1043 of file rz_analysis.h.
Referenced by alignCheck(), avr_custom_des(), avr_custom_spm_page_erase(), avr_custom_spm_page_fill(), avr_custom_spm_page_write(), esil_6502_init(), esil_avr_hook_reg_write(), esil_bigger(), esil_bigger_equal(), esil_bits(), esil_cmp(), esil_gb_init(), esil_i8051_init(), esil_internal_sizeof_reg(), esil_mem_addeq(), esil_mem_andeq(), esil_mem_deceq(), esil_mem_diveq(), esil_mem_inceq(), esil_mem_lsleq(), esil_mem_lsreq(), esil_mem_modeq(), esil_mem_muleq(), esil_mem_oreq(), esil_mem_subeq(), esil_mem_xoreq(), esil_peek(), esil_peek_n(), esil_peek_some(), esil_poke(), esil_poke_n(), esil_poke_some(), esil_rs(), esil_smaller(), esil_smaller_equal(), esil_weak_eq(), esilbreak_mem_read(), esilbreak_reg_write(), gb_custom_daa(), handle_var_stack_access(), internal_esil_mem_read(), internal_esil_mem_read_no_null(), internal_esil_mem_write(), internal_esil_mem_write_no_null(), internal_esil_reg_read(), internal_esil_reg_write(), internal_esil_reg_write_no_null(), ispackedreg(), mymemread(), mymemwrite(), myregwrite(), restore_memory_cb(), restore_register(), rz_analysis_esil_fire_trap(), rz_analysis_esil_free(), rz_analysis_esil_get_parm_size(), rz_analysis_esil_get_parm_type(), rz_analysis_esil_parse(), rz_analysis_esil_reg_read(), rz_analysis_esil_setup(), rz_analysis_esil_trace_new(), rz_analysis_esil_trace_op(), rz_analysis_esil_trace_restore(), rz_core_analysis_esil_deinit(), rz_core_analysis_esil_init_mem(), rz_core_analysis_esil_init_mem_del(), rz_core_esil_cmd(), rz_core_esil_continue_back(), rz_core_esil_step(), rz_core_link_stroff(), rz_core_visual_esil(), trace_hook_reg_read(), and trace_hook_reg_write().
RzAnalysisEsilCallbacks rz_analysis_esil_t::cb |
Definition at line 1078 of file rz_analysis.h.
Referenced by cmd_aea(), do_esil_search(), ds_pre_emulation(), ds_print_esil_analysis(), esil_addrinfo(), esil_gb_fini(), esil_gb_init(), esil_i8051_fini(), esil_i8051_init(), esil_poke_n(), runword(), rz_analysis_esil_mem_read(), rz_analysis_esil_mem_ro(), rz_analysis_esil_mem_write(), rz_analysis_esil_reg_read(), rz_analysis_esil_reg_read_nocallback(), rz_analysis_esil_reg_write(), rz_analysis_esil_setup(), rz_analysis_esil_stats(), rz_analysis_esil_trace_op(), rz_avr_esil_init(), trace_hook_mem_read(), trace_hook_mem_write(), trace_hook_reg_read(), and trace_hook_reg_write().
Definition at line 1089 of file rz_analysis.h.
Referenced by __stepOut(), cb_cmd_esil_intr(), cb_cmd_esil_ioer(), cb_cmd_esil_mdev(), cb_cmd_esil_step(), cb_cmd_esil_step_out(), cb_cmd_esil_todo(), cb_cmd_esil_trap(), cb_mdevrange(), initializeEsil(), internal_esil_mem_read(), internal_esil_mem_write(), rz_analysis_esil_fire_interrupt(), rz_analysis_esil_fire_trap(), rz_analysis_esil_parse(), and rz_core_esil_step().
char* rz_analysis_esil_t::cmd_intr |
Definition at line 1083 of file rz_analysis.h.
Referenced by cb_cmd_esil_intr(), rz_analysis_esil_fire_interrupt(), and rz_analysis_esil_free().
char* rz_analysis_esil_t::cmd_ioer |
Definition at line 1087 of file rz_analysis.h.
Referenced by cb_cmd_esil_ioer(), internal_esil_mem_read(), internal_esil_mem_write(), and rz_analysis_esil_free().
char* rz_analysis_esil_t::cmd_mdev |
Definition at line 1085 of file rz_analysis.h.
Referenced by cb_cmd_esil_mdev(), internal_esil_mem_read(), internal_esil_mem_write(), and rz_analysis_esil_free().
char* rz_analysis_esil_t::cmd_step |
Definition at line 1081 of file rz_analysis.h.
Referenced by cb_cmd_esil_step(), initializeEsil(), rz_analysis_esil_free(), and rz_analysis_esil_parse().
char* rz_analysis_esil_t::cmd_step_out |
Definition at line 1082 of file rz_analysis.h.
Referenced by cb_cmd_esil_step_out(), initializeEsil(), rz_analysis_esil_free(), and rz_analysis_esil_parse().
char* rz_analysis_esil_t::cmd_todo |
Definition at line 1086 of file rz_analysis.h.
Referenced by cb_cmd_esil_todo(), rz_analysis_esil_free(), and rz_analysis_esil_parse().
char* rz_analysis_esil_t::cmd_trap |
Definition at line 1084 of file rz_analysis.h.
Referenced by cb_cmd_esil_trap(), rz_analysis_esil_fire_trap(), rz_analysis_esil_free(), and rz_core_esil_step().
ut64 rz_analysis_esil_t::cur |
Definition at line 1068 of file rz_analysis.h.
Referenced by esil_addeq(), esil_andeq(), esil_asreq(), esil_bf(), esil_bigger(), esil_bigger_equal(), esil_cf(), esil_cmp(), esil_deceq(), esil_diveq(), esil_eq(), esil_inceq(), esil_lsleq(), esil_lsreq(), esil_mem_inceq_n(), esil_modeq(), esil_muleq(), esil_of(), esil_oreq(), esil_pf(), esil_poke_n(), esil_sf(), esil_smaller(), esil_smaller_equal(), esil_subeq(), esil_xoreq(), esil_zf(), and getpcfromstack().
RzStrBuf rz_analysis_esil_t::current_opstr |
Definition at line 1072 of file rz_analysis.h.
Referenced by runword(), rz_analysis_esil_free(), and rz_analysis_esil_new().
int rz_analysis_esil_t::delay |
Definition at line 1061 of file rz_analysis.h.
Referenced by esil_ds(), and esil_set_delay_slot().
int rz_analysis_esil_t::exectrap |
Definition at line 1051 of file rz_analysis.h.
Referenced by cb_exectrap(), initializeEsil(), and rz_core_esil_step().
ut64 rz_analysis_esil_t::flags |
Definition at line 1057 of file rz_analysis.h.
Referenced by cmd_descs_generate.Arg::__str__().
HtUP* rz_analysis_esil_t::interrupts |
Definition at line 1074 of file rz_analysis.h.
Referenced by cmd_analysis_esil(), rz_analysis_esil_fire_interrupt(), rz_analysis_esil_interrupts_fini(), rz_analysis_esil_interrupts_init(), rz_analysis_esil_load_interrupts(), and rz_analysis_esil_set_interrupt().
int rz_analysis_esil_t::iotrap |
Definition at line 1050 of file rz_analysis.h.
Referenced by cb_iotrap(), internal_esil_mem_read(), internal_esil_mem_read_no_null(), internal_esil_mem_write(), internal_esil_mem_write_no_null(), rz_analysis_esil_mem_read(), and rz_analysis_esil_new().
ut64 rz_analysis_esil_t::jump_target |
Definition at line 1062 of file rz_analysis.h.
Referenced by esil_jt(), esil_set_jump_target(), and rz_core_analysis_esil().
int rz_analysis_esil_t::jump_target_set |
Definition at line 1063 of file rz_analysis.h.
Referenced by esil_js(), esil_set_jump_target(), and esil_set_jump_target_set().
ut8 rz_analysis_esil_t::lastsz |
Definition at line 1069 of file rz_analysis.h.
Referenced by esil_addeq(), esil_andeq(), esil_asreq(), esil_bigger(), esil_bigger_equal(), esil_cmp(), esil_deceq(), esil_diveq(), esil_eq(), esil_inceq(), esil_lsleq(), esil_lsreq(), esil_mem_inceq_n(), esil_modeq(), esil_muleq(), esil_oreq(), esil_peek_n(), esil_poke_n(), esil_smaller(), esil_smaller_equal(), esil_subeq(), esil_xoreq(), and esil_zf().
char* rz_analysis_esil_t::mdev_range |
Definition at line 1088 of file rz_analysis.h.
Referenced by cb_mdevrange(), internal_esil_mem_read(), and internal_esil_mem_write().
int rz_analysis_esil_t::nowrite |
Definition at line 1049 of file rz_analysis.h.
Referenced by cmd_aea(), internal_esil_mem_write(), and internal_esil_mem_write_no_null().
ut64 rz_analysis_esil_t::old |
Definition at line 1067 of file rz_analysis.h.
Referenced by esil_addeq(), esil_andeq(), esil_bf(), esil_bigger(), esil_bigger_equal(), esil_cf(), esil_cmp(), esil_deceq(), esil_diveq(), esil_eq(), esil_inceq(), esil_lsleq(), esil_lsreq(), esil_mem_inceq_n(), esil_modeq(), esil_muleq(), esil_of(), esil_oreq(), esil_poke_n(), esil_smaller(), esil_smaller_equal(), esil_subeq(), esil_xoreq(), and getpcfromstack().
HtPP* rz_analysis_esil_t::ops |
Definition at line 1071 of file rz_analysis.h.
Referenced by iscommand(), rz_analysis_esil_free(), rz_analysis_esil_new(), and rz_analysis_esil_set_op().
int rz_analysis_esil_t::parse_goto |
Definition at line 1054 of file rz_analysis.h.
Referenced by esil_goto(), esil_repeat(), evalWord(), and rz_analysis_esil_parse().
int rz_analysis_esil_t::parse_goto_count |
Definition at line 1055 of file rz_analysis.h.
Referenced by runword(), rz_analysis_esil_new(), rz_analysis_esil_parse(), and rz_analysis_esil_setup().
int rz_analysis_esil_t::parse_stop |
Definition at line 1053 of file rz_analysis.h.
Referenced by esil_break(), esil_todo(), evalWord(), runword(), rz_analysis_esil_get_parm_size(), and rz_analysis_esil_parse().
int rz_analysis_esil_t::repeat |
Definition at line 1052 of file rz_analysis.h.
Referenced by evalWord(), and rz_analysis_esil_parse().
ut32 rz_analysis_esil_t::skip |
Definition at line 1048 of file rz_analysis.h.
Referenced by esil_if(), runword(), and rz_analysis_esil_parse().
RzIDStorage* rz_analysis_esil_t::sources |
Definition at line 1073 of file rz_analysis.h.
Referenced by _get_source(), rz_analysis_esil_load_source(), rz_analysis_esil_release_source(), rz_analysis_esil_sources_fini(), and rz_analysis_esil_sources_init().
char** rz_analysis_esil_t::stack |
Definition at line 1044 of file rz_analysis.h.
Referenced by esil_dup(), esil_swap(), rz_analysis_esil_free(), rz_analysis_esil_new(), rz_analysis_esil_pop(), rz_analysis_esil_push(), rz_analysis_esil_stack_free(), and rz_core_esil_dumpstack().
ut64 rz_analysis_esil_t::stack_addr |
Definition at line 1059 of file rz_analysis.h.
Referenced by rz_analysis_esil_trace_new(), rz_core_analysis_esil_init_mem(), and rz_core_analysis_esil_init_mem_p().
int rz_analysis_esil_t::stack_fd |
Definition at line 1091 of file rz_analysis.h.
Referenced by rz_core_analysis_esil_init_mem(), and rz_core_analysis_esil_init_mem_del().
ut32 rz_analysis_esil_t::stack_size |
Definition at line 1060 of file rz_analysis.h.
Referenced by rz_analysis_esil_trace_new(), rz_core_analysis_esil_init_mem(), and rz_core_analysis_esil_init_mem_p().
int rz_analysis_esil_t::stackptr |
Definition at line 1047 of file rz_analysis.h.
Referenced by esil_dup(), esil_stack(), esil_swap(), rz_analysis_esil_pop(), rz_analysis_esil_push(), rz_analysis_esil_stack_free(), and rz_core_esil_dumpstack().
int rz_analysis_esil_t::stacksize |
Definition at line 1046 of file rz_analysis.h.
Referenced by esil_dup(), rz_analysis_esil_new(), and rz_analysis_esil_push().
Sdb* rz_analysis_esil_t::stats |
Definition at line 1076 of file rz_analysis.h.
Referenced by cmd_analysis_esil(), hook_command(), hook_flag_read(), hook_mem_read(), hook_mem_write(), hook_reg_read(), hook_reg_write(), rop_classify_arithmetic(), rop_classify_arithmetic_const(), rop_classify_constant(), rop_classify_mov(), rop_classify_nops(), rz_analysis_esil_free(), rz_analysis_esil_stats(), and rz_core_analysis_esil_deinit().
RzAnalysisEsilTrace* rz_analysis_esil_t::trace |
Definition at line 1077 of file rz_analysis.h.
Referenced by analysis_emul_init(), analysis_emul_restore(), get_addr(), handle_stack_canary(), propagate_types_among_used_variables(), restore_memory_cb(), restore_register(), rz_analysis_esil_free(), rz_analysis_esil_trace_list(), rz_analysis_esil_trace_op(), rz_analysis_esil_trace_restore(), rz_analysis_esil_trace_show(), rz_cmd_debug_traces_esil_delete_handler(), rz_core_analysis_esil_trace_start(), rz_core_analysis_esil_trace_stop(), rz_core_analysis_type_match(), rz_core_esil_continue_back(), rz_core_esil_step_back(), trace_hook_mem_read(), trace_hook_mem_write(), trace_hook_reg_read(), trace_hook_reg_write(), and type_match().
int rz_analysis_esil_t::trap |
Definition at line 1064 of file rz_analysis.h.
Referenced by cmd_analysis_esil(), esil_div(), esil_diveq(), esil_mem_diveq_n(), esil_mem_modeq_n(), esil_mod(), esil_modeq(), esil_poke_some(), esil_signed_div(), esil_signed_mod(), esil_trap(), internal_esil_mem_read(), internal_esil_mem_read_no_null(), internal_esil_mem_write(), internal_esil_mem_write_no_null(), runword(), rz_analysis_esil_mem_read(), rz_analysis_esil_parse(), rz_analysis_esil_setup(), rz_core_analysis_continue_until_call(), rz_core_analysis_continue_until_syscall(), rz_core_esil_dumpstack(), and rz_core_esil_step().
ut32 rz_analysis_esil_t::trap_code |
Definition at line 1065 of file rz_analysis.h.
Referenced by cmd_analysis_esil(), esil_div(), esil_diveq(), esil_mem_diveq_n(), esil_mem_modeq_n(), esil_mod(), esil_modeq(), esil_signed_div(), esil_signed_mod(), esil_trap(), internal_esil_mem_read(), internal_esil_mem_read_no_null(), internal_esil_mem_write(), internal_esil_mem_write_no_null(), runword(), rz_analysis_esil_mem_read(), rz_analysis_esil_setup(), rz_core_analysis_continue_until_call(), rz_core_analysis_continue_until_syscall(), rz_core_esil_dumpstack(), and rz_core_esil_step().
void* rz_analysis_esil_t::user |
Definition at line 1090 of file rz_analysis.h.
Referenced by cmd_aea(), ds_print_esil_analysis_fini(), ds_print_esil_analysis_init(), esilbreak_reg_write(), handle_var_stack_access(), mr(), mw(), myregread(), myregwrite(), ssa_get(), and ssa_set().
int rz_analysis_esil_t::verbose |
Definition at line 1056 of file rz_analysis.h.
Referenced by cb_esilverbose(), core_esil_init(), do_esil_search(), initializeEsil(), rz_analysis_esil_new(), rz_analysis_esil_trace_op(), and rz_core_esil_step().