mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-03 20:22:38 +00:00
Fix aof and tcc db/formats/mach0/mach0
* Fix aof * Fix tcc db/formats/mach0/mach0
This commit is contained in:
parent
b0877cecb4
commit
30afe39c5c
@ -192,13 +192,14 @@ static bool _edf_reg_set(RAnalEsilDFG *dfg, const char *reg, RGraphNode *node) {
|
||||
free (_reg);
|
||||
return false;
|
||||
}
|
||||
free (_reg);
|
||||
EsilDFGRegVar *rv = R_NEW0 (EsilDFGRegVar);
|
||||
if (!rv) {
|
||||
free (_reg);
|
||||
return false;
|
||||
}
|
||||
|
||||
const ut64 v = sdb_num_get (dfg->regs, _reg, NULL);
|
||||
free (_reg);
|
||||
rv->from = (v & (UT64_MAX ^ UT32_MAX)) >> 32;
|
||||
rv->to = v & UT32_MAX;
|
||||
r_queue_enqueue (dfg->todo, rv);
|
||||
@ -1167,13 +1168,15 @@ R_API RStrBuf *r_anal_esil_dfg_filter(RAnalEsilDFG *dfg, const char *reg) {
|
||||
// dfs the graph starting at node of esp-register
|
||||
r_graph_dfs_node_reverse (dfg->flow, resolve_me, &vi);
|
||||
|
||||
RBIter ator;
|
||||
RAnalEsilDFGNode *node;
|
||||
r_rbtree_cont_foreach (filter.tree, ator, node) {
|
||||
// resolve results to opstr here
|
||||
RStrBuf *resolved = get_resolved_expr (&filter, node);
|
||||
r_strbuf_append (filtered, r_strbuf_get (resolved));
|
||||
r_strbuf_free (resolved);
|
||||
if (filter.tree->root) {
|
||||
RBIter ator;
|
||||
RAnalEsilDFGNode *node;
|
||||
r_rbtree_cont_foreach (filter.tree, ator, node) {
|
||||
// resolve results to opstr here
|
||||
RStrBuf *resolved = get_resolved_expr (&filter, node);
|
||||
r_strbuf_append (filtered, r_strbuf_get (resolved));
|
||||
r_strbuf_free (resolved);
|
||||
}
|
||||
}
|
||||
{
|
||||
char *sanitized = r_str_replace (r_str_replace (strdup (r_strbuf_get (filtered)), ",,", ",", 1), ",,", ",", 1);
|
||||
|
@ -4034,7 +4034,7 @@ void MACH0_(mach_headerfields)(RBinFile *bf) {
|
||||
}
|
||||
for (n = 0; n < mh->ncmds; n++) {
|
||||
READWORD ();
|
||||
int lcType = word;
|
||||
ut32 lcType = word;
|
||||
const char *pf_definition = cmd_to_pf_definition (lcType);
|
||||
if (pf_definition) {
|
||||
cb_printf ("pf.%s @ 0x%08"PFMT64x"\n", pf_definition, pvaddr - 4);
|
||||
|
@ -6916,8 +6916,8 @@ static void cmd_anal_opcode(RCore *core, const char *input) {
|
||||
core_anal_bytes (core, core->block, len, count, 0);
|
||||
}
|
||||
break;
|
||||
case 'f':
|
||||
{
|
||||
case 'f': // "aof"
|
||||
if (strlen (input + 1) > 1) {
|
||||
RAnalOp aop = R_EMPTY;
|
||||
ut8 data[32];
|
||||
r_io_read_at (core->io, core->offset, data, sizeof (data));
|
||||
|
Loading…
x
Reference in New Issue
Block a user