Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Functions | |
RZ_API RZ_OWN RzAnalysisDiff * | rz_analysis_diff_new (void) |
RZ_API void | rz_analysis_diff_free (RzAnalysisDiff *diff) |
RZ_API void | rz_analysis_diff_setup (RzAnalysis *analysis, int doops, double thbb, double thfcn) |
RZ_API void | rz_analysis_diff_setup_i (RzAnalysis *analysis, int doops, int thbb, int thfcn) |
RZ_API int | rz_analysis_diff_fingerprint_bb (RzAnalysis *analysis, RzAnalysisBlock *bb) |
RZ_API size_t | rz_analysis_diff_fingerprint_fcn (RzAnalysis *analysis, RzAnalysisFunction *fcn) |
RZ_API bool | rz_analysis_diff_bb (RzAnalysis *analysis, RzAnalysisFunction *fcn, RzAnalysisFunction *fcn2) |
RZ_API int | rz_analysis_diff_fcn (RzAnalysis *analysis, RzList *fcns1, RzList *fcns2) |
RZ_API int | rz_analysis_diff_eval (RzAnalysis *analysis) |
RZ_API bool rz_analysis_diff_bb | ( | RzAnalysis * | analysis, |
RzAnalysisFunction * | fcn, | ||
RzAnalysisFunction * | fcn2 | ||
) |
Definition at line 112 of file diff.c.
References rz_analysis_diff_t::addr, rz_analysis_bb_t::addr, rz_analysis_function_t::bbs, rz_analysis_t::cur, rz_analysis_function_t::diff, rz_analysis_bb_t::diff, rz_analysis_plugin_t::diff_bb, rz_analysis_t::diff_thbb, rz_analysis_t::diff_thfcn, rz_analysis_diff_t::dist, rz_analysis_bb_t::fingerprint, NULL, rz_analysis_diff_new(), RZ_ANALYSIS_DIFF_THRESHOLD, RZ_ANALYSIS_DIFF_TYPE_MATCH, RZ_ANALYSIS_DIFF_TYPE_NULL, RZ_ANALYSIS_DIFF_TYPE_UNMATCH, rz_diff_levenstein_distance(), RZ_FREE, rz_analysis_diff_t::size, rz_analysis_bb_t::size, and rz_analysis_diff_t::type.
Referenced by rz_analysis_diff_fcn().
RZ_API int rz_analysis_diff_eval | ( | RzAnalysis * | analysis | ) |
Definition at line 283 of file diff.c.
References rz_analysis_t::cur, and rz_analysis_plugin_t::diff_eval.
RZ_API int rz_analysis_diff_fcn | ( | RzAnalysis * | analysis, |
RzList * | fcns1, | ||
RzList * | fcns2 | ||
) |
Definition at line 176 of file diff.c.
References rz_analysis_diff_t::addr, rz_analysis_function_t::addr, rz_analysis_t::cur, rz_analysis_function_t::diff, rz_analysis_plugin_t::diff_fcn, rz_analysis_diff_t::dist, rz_analysis_function_t::fingerprint, rz_analysis_function_t::fingerprint_size, rz_analysis_diff_t::name, rz_analysis_function_t::name, NULL, rz_analysis_diff_bb(), RZ_ANALYSIS_DIFF_THRESHOLD, RZ_ANALYSIS_DIFF_TYPE_MATCH, RZ_ANALYSIS_DIFF_TYPE_NULL, RZ_ANALYSIS_DIFF_TYPE_UNMATCH, RZ_ANALYSIS_FCN_TYPE_FCN, RZ_ANALYSIS_FCN_TYPE_SYM, rz_diff_levenstein_distance(), RZ_FREE, rz_analysis_diff_t::size, strdup(), rz_analysis_diff_t::type, and rz_analysis_function_t::type.
Referenced by rz_core_gdiff_2_files(), rz_core_gdiff_function_1_file(), and rz_core_gdiff_function_2_files().
RZ_API int rz_analysis_diff_fingerprint_bb | ( | RzAnalysis * | analysis, |
RzAnalysisBlock * | bb | ||
) |
Definition at line 49 of file diff.c.
References rz_analysis_bb_t::addr, rz_analysis_t::cur, rz_analysis_t::diff_ops, rz_analysis_bb_t::fingerprint, rz_analysis_plugin_t::fingerprint_bb, free(), setup::idx, rz_io_bind_t::io, rz_analysis_t::iob, malloc(), memcpy(), memset(), op, rz_io_bind_t::read_at, rz_analysis_op(), RZ_ANALYSIS_OP_MASK_BASIC, rz_analysis_op_new(), and rz_analysis_bb_t::size.
Referenced by rz_core_gdiff_2_files(), rz_core_gdiff_function_1_file(), and rz_core_gdiff_function_2_files().
RZ_API size_t rz_analysis_diff_fingerprint_fcn | ( | RzAnalysis * | analysis, |
RzAnalysisFunction * | fcn | ||
) |
Definition at line 91 of file diff.c.
References rz_analysis_function_t::bbs, rz_analysis_t::cur, rz_analysis_function_t::fingerprint, rz_analysis_bb_t::fingerprint, rz_analysis_plugin_t::fingerprint_fcn, rz_analysis_function_t::fingerprint_size, memcpy(), NULL, realloc(), and rz_analysis_bb_t::size.
Referenced by rz_core_gdiff_2_files(), and rz_core_gdiff_function_2_files().
RZ_API void rz_analysis_diff_free | ( | RzAnalysisDiff * | diff | ) |
Definition at line 22 of file diff.c.
References free(), and rz_analysis_diff_t::name.
Referenced by block_free(), function_load_cb(), rz_analysis_function_blocks_add_handler(), rz_analysis_function_create_handler(), and rz_analysis_function_free().
RZ_API RZ_OWN RzAnalysisDiff* rz_analysis_diff_new | ( | void | ) |
Definition at line 9 of file diff.c.
References rz_analysis_diff_t::addr, rz_analysis_diff_t::dist, rz_analysis_diff_t::name, NULL, RZ_ANALYSIS_DIFF_TYPE_NULL, RZ_NEW0, rz_analysis_diff_t::size, rz_analysis_diff_t::type, and UT64_MAX.
Referenced by rz_analysis_diff_bb(), rz_analysis_fcn_add_bb(), rz_analysis_function_blocks_add_handler(), rz_analysis_function_create_handler(), rz_analysis_function_new(), and rz_serialize_analysis_diff_load().
RZ_API void rz_analysis_diff_setup | ( | RzAnalysis * | analysis, |
int | doops, | ||
double | thbb, | ||
double | thfcn | ||
) |
Definition at line 31 of file diff.c.
References rz_analysis_t::diff_ops, rz_analysis_t::diff_thbb, and rz_analysis_t::diff_thfcn.
RZ_API void rz_analysis_diff_setup_i | ( | RzAnalysis * | analysis, |
int | doops, | ||
int | thbb, | ||
int | thfcn | ||
) |
Definition at line 40 of file diff.c.
References rz_analysis_t::diff_ops, rz_analysis_t::diff_thbb, and rz_analysis_t::diff_thfcn.