fix latest covs
This commit is contained in:
parent
c451637967
commit
27459b7deb
3 changed files with 39 additions and 26 deletions
|
|
@ -1142,23 +1142,24 @@ R_API void r_core_anal_coderefs(RCore *core, ut64 addr, int fmt) {
|
|||
RAnalFunction *fcni;
|
||||
RAnalRef *fcnr;
|
||||
|
||||
if (fmt==2) r_cons_printf ("[");
|
||||
if (fmt == 2)
|
||||
r_cons_printf ("[");
|
||||
first = 0;
|
||||
r_list_foreach (core->anal->fcns, iter, fcni) {
|
||||
if (addr != 0 && addr != fcni->addr)
|
||||
continue;
|
||||
if (fmt==0) {
|
||||
if (fmt == 0) {
|
||||
r_cons_printf ("0x%08"PFMT64x"\n", fcni->addr);
|
||||
} else if (fmt==2) {
|
||||
} else if (fmt == 2) {
|
||||
//r_cons_printf ("{\"name\":\"%s\", \"size\":%d,\"imports\":[", fcni->name, fcni->size);
|
||||
if (hideempty && r_list_length (fcni->refs)==0)
|
||||
if (hideempty && r_list_length (fcni->refs) == 0)
|
||||
continue;
|
||||
if (usenames)
|
||||
r_cons_printf ("%s{\"name\":\"%s\", \"size\":%d,\"imports\":[",
|
||||
first?",":"",fcni->name, fcni->size);
|
||||
first?",":"", fcni->name, fcni->size);
|
||||
else
|
||||
r_cons_printf ("%s{\"name\":\"0x%08"PFMT64x"\", \"size\":%d,\"imports\":[",
|
||||
first?",":"",fcni->addr, fcni->size);
|
||||
first?",":"", fcni->addr, fcni->size);
|
||||
first = 1;
|
||||
}
|
||||
first2 = 0;
|
||||
|
|
@ -1174,7 +1175,7 @@ R_API void r_core_anal_coderefs(RCore *core, ut64 addr, int fmt) {
|
|||
}
|
||||
}
|
||||
if (!is_html && !showhdr) {
|
||||
if (fmt==1) {
|
||||
if (fmt == 1) {
|
||||
r_cons_printf ("digraph code {\n"
|
||||
"\tgraph [bgcolor=white];\n"
|
||||
"\tnode [color=lightgray, style=filled shape=box"
|
||||
|
|
@ -1186,34 +1187,38 @@ R_API void r_core_anal_coderefs(RCore *core, ut64 addr, int fmt) {
|
|||
// TODO: display only code or data refs?
|
||||
RFlagItem *flag = r_flag_get_i (core->flags, fcnr->addr);
|
||||
if (fmt == 1) {
|
||||
if (flag && flag->name) {
|
||||
r_cons_printf ("\t\"0x%08"PFMT64x"\" -> \"0x%08"PFMT64x"\" "
|
||||
"[label=\"%s\" color=\"%s\" URL=\"%s/0x%08"PFMT64x"\"];\n",
|
||||
fcni->addr, fcnr->addr, flag?flag->name:"",
|
||||
(fcnr->type==R_ANAL_REF_TYPE_CODE ||
|
||||
fcnr->type==R_ANAL_REF_TYPE_CALL)?"green":"red",
|
||||
flag? flag->name: "", fcnr->addr);
|
||||
r_cons_printf ("\t\"0x%08"PFMT64x"\" "
|
||||
"[label=\"%s\" URL=\"%s/0x%08"PFMT64x"\"];\n",
|
||||
fcnr->addr, flag? flag->name: fr->name,
|
||||
flag? flag->name: "", fcnr->addr);
|
||||
}
|
||||
} else if (fmt==2) {
|
||||
if (flag && flag->name) {
|
||||
r_cons_printf ("\t\"0x%08"PFMT64x"\" -> \"0x%08"PFMT64x"\" "
|
||||
"[label=\"%s\" color=\"%s\" URL=\"%s/0x%08"PFMT64x"\"];\n",
|
||||
fcni->addr, fcnr->addr, flag->name,
|
||||
(fcnr->type==R_ANAL_REF_TYPE_CODE ||
|
||||
fcnr->type==R_ANAL_REF_TYPE_CALL)?"green":"red",
|
||||
flag->name, fcnr->addr);
|
||||
r_cons_printf ("\t\"0x%08"PFMT64x"\" "
|
||||
"[label=\"%s\" URL=\"%s/0x%08"PFMT64x"\"];\n",
|
||||
fcnr->addr, flag->name,
|
||||
flag->name, fcnr->addr);
|
||||
}
|
||||
} else if (fmt == 2) {
|
||||
if (fr) {
|
||||
if (!hideempty || (hideempty && r_list_length (fr->refs)>0)) {
|
||||
if (usenames)
|
||||
r_cons_printf ("%s\"%s\"", first2?",":"", fr->name);
|
||||
else r_cons_printf ("%s\"0x%08"PFMT64x"\"", first2?",":"", fr->addr);
|
||||
else
|
||||
r_cons_printf ("%s\"0x%08"PFMT64x"\"", first2?",":"", fr->addr);
|
||||
first2 = 1;
|
||||
}
|
||||
}
|
||||
} else r_cons_printf (" - 0x%08"PFMT64x" (%c)\n", fcnr->addr, fcnr->type);
|
||||
} else {
|
||||
r_cons_printf (" - 0x%08"PFMT64x" (%c)\n", fcnr->addr, fcnr->type);
|
||||
}
|
||||
}
|
||||
if (fmt==2) r_cons_printf ("]}");
|
||||
}
|
||||
if (showhdr && fmt==1)
|
||||
r_cons_printf ("}\n");
|
||||
if (fmt==2) r_cons_printf ("]\n");
|
||||
if (fmt == 2)
|
||||
r_cons_printf ("]\n");
|
||||
}
|
||||
|
||||
static void fcn_list_bbs(RAnalFunction *fcn) {
|
||||
|
|
|
|||
|
|
@ -1569,7 +1569,7 @@ static void cmd_print_pv(RCore *core, const char *input) {
|
|||
}
|
||||
/* fallthrough */
|
||||
case ' ':
|
||||
for (i=0;stack[i]; i++) {
|
||||
for (i = 0; stack[i]; i++) {
|
||||
if (!strcmp (input+1, stack[i])) {
|
||||
if (type == 'z') {
|
||||
r_core_cmdf (core, "ps @ [`drn sp`+%d]", n * i);
|
||||
|
|
@ -1580,10 +1580,14 @@ static void cmd_print_pv(RCore *core, const char *input) {
|
|||
}
|
||||
break;
|
||||
case 'j':
|
||||
{
|
||||
char *str = r_core_cmd_str (core, "ps @ [$$]");
|
||||
r_cons_printf ("{\"value\":%"PFMT64d",\"string\":\"%s\"}\n",
|
||||
r_num_get (core->num, "[$$]"),
|
||||
r_core_cmd_str (core, "ps @ [$$]")
|
||||
str
|
||||
);
|
||||
free (str);
|
||||
}
|
||||
break;
|
||||
case '?':
|
||||
eprintf ("Usage: pv[z] [ret arg#]\n");
|
||||
|
|
|
|||
|
|
@ -187,6 +187,7 @@ R_API int r_core_search_prelude(RCore *core, ut64 from, ut64 to, const ut8 *buf,
|
|||
// TODO: handle sections ?
|
||||
if (from >= to) {
|
||||
eprintf ("aap: Invalid search range 0x%08"PFMT64x" - 0x%08"PFMT64x"\n", from, to);
|
||||
free (b);
|
||||
return 0;
|
||||
}
|
||||
r_search_reset (core->search, R_SEARCH_KEYWORD);
|
||||
|
|
@ -287,10 +288,13 @@ R_API int r_core_search_preludes(RCore *core) {
|
|||
default:
|
||||
eprintf ("ap: Unsupported bits: %d\n", bits);
|
||||
}
|
||||
} else eprintf ("ap: Unsupported asm.arch and asm.bits\n");
|
||||
} else {
|
||||
eprintf ("ap: Unsupported asm.arch and asm.bits\n");
|
||||
}
|
||||
eprintf ("done\n");
|
||||
}
|
||||
fc1 = count_functions (core);
|
||||
r_list_free (list);
|
||||
eprintf ("Analyzed %d functions based on preludes\n", fc1 - fc0);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue