Add aaC command

`aaa` command performs class recovery from the rz_bin data.
This step cannot be executed alone because there was no equivalent
command.
This commit is contained in:
wargio 2023-06-01 11:37:13 +08:00 committed by Anton Kochkov
parent c85b1afa4c
commit 77b822d5fc
4 changed files with 22 additions and 0 deletions

View file

@ -1931,6 +1931,11 @@ RZ_IPI RzCmdStatus rz_analysis_print_rtti_all_handler(RzCore *core, int argc, co
return RZ_CMD_STATUS_OK;
}
RZ_IPI RzCmdStatus rz_analysis_recover_all_classes_from_bin_handler(RzCore *core, int argc, const char **argv) {
rz_analysis_class_recover_from_rzbin(core->analysis);
return RZ_CMD_STATUS_OK;
}
RZ_IPI RzCmdStatus rz_analysis_recover_rtti_all_handler(RzCore *core, int argc, const char **argv) {
rz_analysis_rtti_recover_all(core->analysis);
return RZ_CMD_STATUS_OK;

View file

@ -29,6 +29,10 @@ commands:
summary: Analyze all function calls to imports
cname: analyze_all_function_calls_to_imports
args: []
- name: aaC
summary: Analysis classes from RzBin
cname: analysis_recover_all_classes_from_bin
args: []
- name: aad
summary: Analyze data references to code
cname: analyze_all_data_references_to_code

View file

@ -2267,6 +2267,14 @@ static const RzCmdDescHelp analyze_all_function_calls_to_imports_help = {
.args = analyze_all_function_calls_to_imports_args,
};
static const RzCmdDescArg analysis_recover_all_classes_from_bin_args[] = {
{ 0 },
};
static const RzCmdDescHelp analysis_recover_all_classes_from_bin_help = {
.summary = "Analysis classes from RzBin",
.args = analysis_recover_all_classes_from_bin_args,
};
static const RzCmdDescArg analyze_all_data_references_to_code_args[] = {
{ 0 },
};
@ -18550,6 +18558,9 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
RzCmdDesc *analyze_all_function_calls_to_imports_cd = rz_cmd_desc_argv_new(core->rcmd, aac_cd, "aaci", rz_analyze_all_function_calls_to_imports_handler, &analyze_all_function_calls_to_imports_help);
rz_warn_if_fail(analyze_all_function_calls_to_imports_cd);
RzCmdDesc *analysis_recover_all_classes_from_bin_cd = rz_cmd_desc_argv_new(core->rcmd, aa_cd, "aaC", rz_analysis_recover_all_classes_from_bin_handler, &analysis_recover_all_classes_from_bin_help);
rz_warn_if_fail(analysis_recover_all_classes_from_bin_cd);
RzCmdDesc *analyze_all_data_references_to_code_cd = rz_cmd_desc_argv_new(core->rcmd, aa_cd, "aad", rz_analyze_all_data_references_to_code_handler, &analyze_all_data_references_to_code_help);
rz_warn_if_fail(analyze_all_data_references_to_code_cd);

View file

@ -189,6 +189,8 @@ RZ_IPI RzCmdStatus rz_analyze_everything_experimental_handler(RzCore *core, int
RZ_IPI RzCmdStatus rz_analyze_all_function_calls_handler(RzCore *core, int argc, const char **argv);
// "aaci"
RZ_IPI RzCmdStatus rz_analyze_all_function_calls_to_imports_handler(RzCore *core, int argc, const char **argv);
// "aaC"
RZ_IPI RzCmdStatus rz_analysis_recover_all_classes_from_bin_handler(RzCore *core, int argc, const char **argv);
// "aad"
RZ_IPI RzCmdStatus rz_analyze_all_data_references_to_code_handler(RzCore *core, int argc, const char **argv);
// "aae"