Rizin
unix-like reverse engineering framework and cli tools
|
#include <rz_analysis.h>
Public Attributes | |
RBNode | _rb |
ut64 | _max_end |
ut64 | addr |
ut64 | size |
ut64 | jump |
ut64 | fail |
bool | traced |
ut32 | colorize |
ut8 * | fingerprint |
RzAnalysisDiff * | diff |
RzAnalysisCond * | cond |
RzAnalysisSwitchOp * | switch_op |
ut16 * | op_pos |
ut8 * | op_bytes |
ut8 * | parent_reg_arena |
int | op_pos_size |
int | ninstr |
int | stackptr |
int | parent_stackptr |
ut64 | cmpval |
const char * | cmpreg |
ut32 | bbhash |
RzList * | fcns |
RzAnalysis * | analysis |
int | ref |
Definition at line 861 of file rz_analysis.h.
ut64 rz_analysis_bb_t::_max_end |
Definition at line 863 of file rz_analysis.h.
Referenced by __max_end(), all_in(), and all_intersect().
RBNode rz_analysis_bb_t::_rb |
Definition at line 862 of file rz_analysis.h.
Referenced by all_in(), all_intersect(), rz_analysis_block_relocate(), rz_analysis_block_set_size(), rz_analysis_block_split(), and rz_analysis_create_block().
ut64 rz_analysis_bb_t::addr |
Definition at line 865 of file rz_analysis.h.
Referenced by __analysis_esil_function(), __analysis_fcn_check_bp_use(), __bb_addr_cmp(), __max_end(), __rebase_everything(), agraph_refresh(), analPaths(), analysis_block_cb(), bb_cmp(), bb_info_print(), bbBegin(), bbFail(), bbget(), bbInstructions(), bbJump(), bbSize(), block_from_offset_cb(), block_new(), calc_reachable_and_remove_block(), check_changes(), cmd_analysis_esil(), core_analysis_color_curr_node(), core_analysis_graph_construct_edges(), core_analysis_graph_construct_nodes(), core_analysis_graph_label(), DEFINE_HANDLE_TS_FCN_AND_SYMBOL(), disasm_strings(), ensure_fcn_range(), fcn_get_refs(), fcn_list_bbs(), fcn_takeover_block_recursive_followthrough_cb(), find_bb(), function_store(), gather_opcode_stat_for_fcn(), get_bbnodes(), get_bbupdate(), get_calls(), get_next_i(), get_xrefs(), graph_construct_edges(), graph_construct_nodes(), handleMidBB(), isbbfew(), mark_as_visited(), meta_function_comment_remove(), noreturn_successors_cb(), noreturn_successors_reachable_cb(), print_color_node(), propagate_types_among_used_variables(), run_basic_block_analysis(), rz_analysis_basic_block_find_paths_handler(), rz_analysis_basic_block_list_handler(), rz_analysis_block_analyze_ops(), rz_analysis_block_automerge(), rz_analysis_block_chop_noreturn(), rz_analysis_block_get_op_addr(), rz_analysis_block_get_op_addr_in(), rz_analysis_block_op_starts_at(), rz_analysis_block_recurse(), rz_analysis_block_recurse_depth_first(), rz_analysis_block_recurse_followthrough(), rz_analysis_block_relocate(), rz_analysis_block_set_size(), rz_analysis_block_shortest_path(), rz_analysis_block_split(), rz_analysis_block_unref(), rz_analysis_block_update_hash(), rz_analysis_block_was_modified(), rz_analysis_create_block(), rz_analysis_diff_bb(), rz_analysis_diff_fingerprint_bb(), rz_analysis_fcn_bbget_at(), rz_analysis_fcn_bbget_in(), rz_analysis_function_add_block(), rz_analysis_function_complexity(), rz_analysis_function_cost(), rz_analysis_function_loops(), rz_analysis_function_remove_block(), rz_analysis_function_resize(), rz_analysis_function_setbits_handler(), rz_analysis_get_jmptbl_info(), rz_analysis_trace_bb(), rz_analysis_update_analysis_range(), rz_core_analysis_bb_seek(), rz_core_analysis_bbs_info_print(), rz_core_analysis_esil_emulate_bb(), rz_core_analysis_fcn_merge(), rz_core_analysis_graph_to(), rz_core_analysis_resolve_golang_strings(), rz_core_analysis_type_match(), rz_core_cmd_foreach(), rz_core_cmd_foreach3(), rz_core_get_boundaries_prot(), rz_core_link_stroff(), rz_core_print_bb_custom(), rz_core_print_bb_gml(), rz_core_seek_analysis_bb(), rz_core_visual_graph(), rz_serialize_analysis_blocks_save(), seek_to_node(), skip_hp(), try_get_cmpval_from_parents(), and update_analysis().
RzAnalysis* rz_analysis_bb_t::analysis |
Definition at line 887 of file rz_analysis.h.
Referenced by block_new(), get_calls(), get_xrefs(), rz_analysis_block_analyze_ops(), rz_analysis_block_chop_noreturn(), rz_analysis_block_recurse(), rz_analysis_block_recurse_depth_first(), rz_analysis_block_recurse_followthrough(), rz_analysis_block_relocate(), rz_analysis_block_set_size(), rz_analysis_block_shortest_path(), rz_analysis_block_split(), rz_analysis_block_unref(), rz_analysis_block_update_hash(), and rz_analysis_block_was_modified().
ut32 rz_analysis_bb_t::bbhash |
Definition at line 884 of file rz_analysis.h.
Referenced by rz_analysis_block_update_hash(), and rz_analysis_block_was_modified().
const char* rz_analysis_bb_t::cmpreg |
Definition at line 883 of file rz_analysis.h.
Referenced by block_store(), run_basic_block_analysis(), and try_get_cmpval_from_parents().
ut64 rz_analysis_bb_t::cmpval |
Definition at line 882 of file rz_analysis.h.
Referenced by block_load_cb(), block_new(), block_store(), run_basic_block_analysis(), and try_get_cmpval_from_parents().
ut32 rz_analysis_bb_t::colorize |
Definition at line 870 of file rz_analysis.h.
Referenced by block_load_cb(), block_store(), core_analysis_graph_construct_nodes(), graph_construct_nodes(), and rz_analysis_function_blocks_color_handler().
RzAnalysisCond* rz_analysis_bb_t::cond |
Definition at line 873 of file rz_analysis.h.
Referenced by block_free(), run_basic_block_analysis(), rz_analysis_op_to_string(), and try_get_cmpval_from_parents().
RzAnalysisDiff* rz_analysis_bb_t::diff |
Definition at line 872 of file rz_analysis.h.
Referenced by block_free(), block_store(), core_analysis_graph_construct_nodes(), diff_color(), fcn_list_bbs(), graph_construct_nodes(), rz_analysis_diff_bb(), and rz_analysis_fcn_add_bb().
ut64 rz_analysis_bb_t::fail |
Definition at line 868 of file rz_analysis.h.
Referenced by __rebase_everything(), analPaths(), analysis_path_exists(), bb_info_print(), bbFail(), block_load_cb(), block_new(), block_store(), core_analysis_graph_construct_edges(), core_analysis_graph_construct_nodes(), disasm_strings(), fcn_list_bbs(), get_bbnodes(), get_next_i(), graph_construct_edges(), graph_construct_nodes(), isbbfew(), run_basic_block_analysis(), rz_analysis_basic_block_list_handler(), rz_analysis_block_chop_noreturn(), rz_analysis_block_recurse_depth_first(), rz_analysis_block_split(), rz_analysis_block_successor_addrs_foreach(), rz_analysis_fcn_add_bb(), rz_analysis_function_complexity(), rz_analysis_function_count_edges(), rz_analysis_function_loops(), rz_analysis_function_resize(), rz_analysis_get_jmptbl_info(), rz_core_print_bb_custom(), rz_core_print_bb_gml(), and try_get_cmpval_from_parents().
RzList* rz_analysis_bb_t::fcns |
Definition at line 886 of file rz_analysis.h.
Referenced by block_free(), block_new(), fcn_in_cb(), fcn_takeover_block_recursive_followthrough_cb(), get_bb_body(), get_functions_block_cb(), noreturn_remove_unreachable_cb(), pr_bb(), run_basic_block_analysis(), rz_analysis_basic_block_list_handler(), rz_analysis_block_automerge(), rz_analysis_block_chop_noreturn(), rz_analysis_block_relocate(), rz_analysis_block_set_size(), rz_analysis_block_split(), rz_analysis_block_unref(), rz_analysis_delete_block(), rz_analysis_function_add_block(), rz_analysis_function_analyze_jmptable_handler(), rz_analysis_function_free(), rz_analysis_function_remove_block(), rz_analysis_function_update_analysis(), rz_analysis_update_analysis_range(), rz_core_analysis_bb_info_print(), and rz_core_analysis_propagate_noreturn().
ut8* rz_analysis_bb_t::fingerprint |
Definition at line 871 of file rz_analysis.h.
Referenced by block_free(), block_load_cb(), block_store(), rz_analysis_diff_bb(), rz_analysis_diff_fingerprint_bb(), and rz_analysis_diff_fingerprint_fcn().
ut64 rz_analysis_bb_t::jump |
Definition at line 867 of file rz_analysis.h.
Referenced by __rebase_everything(), analPaths(), analysis_path_exists(), bb_info_print(), bbJump(), block_load_cb(), block_new(), block_store(), core_analysis_graph_construct_edges(), core_analysis_graph_construct_nodes(), disasm_strings(), fcn_list_bbs(), get_bbnodes(), get_next_i(), graph_construct_edges(), graph_construct_nodes(), isbbfew(), run_basic_block_analysis(), rz_analysis_basic_block_list_handler(), rz_analysis_block_chop_noreturn(), rz_analysis_block_recurse_depth_first(), rz_analysis_block_split(), rz_analysis_block_successor_addrs_foreach(), rz_analysis_fcn_add_bb(), rz_analysis_function_complexity(), rz_analysis_function_count_edges(), rz_analysis_function_loops(), rz_analysis_function_resize(), rz_analysis_get_jmptbl_info(), rz_core_print_bb_custom(), rz_core_print_bb_gml(), and try_get_cmpval_from_parents().
int rz_analysis_bb_t::ninstr |
Definition at line 879 of file rz_analysis.h.
Referenced by analyze_noreturn_function(), bb_info_print(), bbget(), bbInstructions(), block_store(), calc_reachable_and_remove_block(), clear_bb_vars(), DEFINE_HANDLE_TS_FCN_AND_SYMBOL(), fcn_get_refs(), fcn_takeover_block_recursive_followthrough_cb(), get_xrefs(), run_basic_block_analysis(), rz_analysis_basic_block_list_handler(), rz_analysis_block_analyze_ops(), rz_analysis_block_get_op_addr_in(), rz_analysis_block_get_op_offset(), rz_analysis_block_get_op_size(), rz_analysis_block_op_starts_at(), rz_analysis_block_split(), rz_analysis_get_jmptbl_info(), rz_analysis_update_analysis_range(), rz_core_analysis_esil_emulate_bb(), rz_core_seek_bb_instruction(), and update_analysis().
ut8* rz_analysis_bb_t::op_bytes |
Definition at line 876 of file rz_analysis.h.
Referenced by block_free().
ut16* rz_analysis_bb_t::op_pos |
Definition at line 875 of file rz_analysis.h.
Referenced by analPaths(), block_free(), block_new(), block_store(), gather_opcode_stat_for_fcn(), get_xrefs(), rz_analysis_block_get_op_offset(), rz_analysis_block_set_op_offset(), and rz_core_cmd_foreach().
int rz_analysis_bb_t::op_pos_size |
Definition at line 878 of file rz_analysis.h.
Referenced by analPaths(), block_new(), gather_opcode_stat_for_fcn(), rz_analysis_block_get_op_offset(), rz_analysis_block_set_op_offset(), and rz_core_cmd_foreach().
ut8* rz_analysis_bb_t::parent_reg_arena |
Definition at line 877 of file rz_analysis.h.
Referenced by block_free(), get_bb_body(), and pr_bb().
int rz_analysis_bb_t::parent_stackptr |
Definition at line 881 of file rz_analysis.h.
Referenced by analysis_block_cb(), block_load_cb(), block_new(), block_store(), fcn_append_basic_block(), fcn_takeover_block_recursive(), fcn_takeover_block_recursive_followthrough_cb(), get_bb_body(), pr_bb(), and rz_analysis_block_split().
int rz_analysis_bb_t::ref |
Definition at line 888 of file rz_analysis.h.
Referenced by block_new(), rz_analysis_block_ref(), rz_analysis_block_unref(), and rz_serialize_analysis_load().
ut64 rz_analysis_bb_t::size |
Definition at line 866 of file rz_analysis.h.
Referenced by __analysis_esil_function(), __analysis_fcn_check_bp_use(), __max_end(), __rebase_everything(), all_in(), all_intersect(), analysis_block_cb(), bb_info_print(), bbBegin(), bbFail(), bbget(), bbInstructions(), bbJump(), bbSize(), block_load_cb(), block_new(), block_store(), calc_reachable_and_remove_block(), cmd_analysis_esil(), core_analysis_graph_construct_nodes(), core_analysis_graph_label(), DEFINE_HANDLE_TS_FCN_AND_SYMBOL(), disasm_strings(), ensure_fcn_range(), fcn_list_bbs(), get_calls(), get_cgnodes(), get_next_i(), graph_construct_nodes(), meta_function_comment_remove(), run_basic_block_analysis(), rz_analysis_basic_block_list_handler(), rz_analysis_block_analyze_ops(), rz_analysis_block_get_op_size(), rz_analysis_block_relocate(), rz_analysis_block_set_size(), rz_analysis_block_split(), rz_analysis_block_update_hash(), rz_analysis_block_was_modified(), rz_analysis_diff_bb(), rz_analysis_diff_fingerprint_bb(), rz_analysis_diff_fingerprint_fcn(), rz_analysis_fcn_bbget_in(), rz_analysis_function_add_block(), rz_analysis_function_cost(), rz_analysis_function_realsize(), rz_analysis_function_remove_block(), rz_analysis_function_resize(), rz_analysis_function_setbits_handler(), rz_analysis_get_jmptbl_info(), rz_analysis_trace_bb(), rz_core_analysis_fcn_merge(), rz_core_analysis_resolve_golang_strings(), rz_core_analysis_type_match(), rz_core_cmd_foreach(), rz_core_cmd_foreach3(), rz_core_get_boundaries_prot(), rz_core_link_stroff(), and skip_hp().
int rz_analysis_bb_t::stackptr |
Definition at line 880 of file rz_analysis.h.
Referenced by block_new(), block_store(), fcn_append_basic_block(), fcn_takeover_block_recursive_followthrough_cb(), run_basic_block_analysis(), and rz_analysis_block_split().
RzAnalysisSwitchOp* rz_analysis_bb_t::switch_op |
Definition at line 874 of file rz_analysis.h.
Referenced by bb_info_print(), block_free(), block_store(), core_analysis_graph_construct_edges(), core_analysis_graph_construct_nodes(), ds_show_flags(), get_bbnodes(), get_next_i(), graph_construct_edges(), graph_construct_nodes(), isbbfew(), rz_analysis_block_add_switch_case(), rz_analysis_block_chop_noreturn(), rz_analysis_block_recurse_depth_first(), rz_analysis_block_split(), rz_analysis_block_successor_addrs_foreach(), rz_analysis_function_complexity(), rz_analysis_update_analysis_range(), rz_core_print_bb_custom(), and rz_core_print_bb_gml().
bool rz_analysis_bb_t::traced |
Definition at line 869 of file rz_analysis.h.
Referenced by bb_info_print(), block_load_cb(), block_store(), core_analysis_graph_construct_nodes(), rz_analysis_basic_block_list_handler(), and rz_analysis_trace_bb().