NOPsleds shift function begins (analysis enhacement test)
This commit is contained in:
parent
9715a9ee97
commit
52c41a12da
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/r2 - -i
|
#!/usr/bin/r2 - -qi
|
||||||
# Usage:
|
# Usage:
|
||||||
# r2 -qi all68k - > all68k.txt
|
# r2 -qi all68k - > all68k.txt
|
||||||
#
|
#
|
||||||
|
|
|
@ -230,6 +230,12 @@ static int fcn_recurse(RAnal *anal, RAnalFunction *fcn, ut64 addr, ut8 *buf, ut6
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
switch (op.type) {
|
switch (op.type) {
|
||||||
|
case R_ANAL_OP_TYPE_NOP:
|
||||||
|
if ((addr+idx-oplen) == fcn->addr) {
|
||||||
|
fcn->addr = bb->addr = addr + idx;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case R_ANAL_OP_TYPE_JMP:
|
case R_ANAL_OP_TYPE_JMP:
|
||||||
#if 1
|
#if 1
|
||||||
if (!r_anal_fcn_xref_add (anal, fcn, op.addr, op.jump,
|
if (!r_anal_fcn_xref_add (anal, fcn, op.addr, op.jump,
|
||||||
|
@ -290,10 +296,11 @@ static int fcn_recurse(RAnal *anal, RAnalFunction *fcn, ut64 addr, ut8 *buf, ut6
|
||||||
R_ANAL_REF_TYPE_CALL : R_ANAL_REF_TYPE_CODE)) {
|
R_ANAL_REF_TYPE_CALL : R_ANAL_REF_TYPE_CODE)) {
|
||||||
r_anal_op_fini (&op);
|
r_anal_op_fini (&op);
|
||||||
//fcn->size = bbsum (fcn);
|
//fcn->size = bbsum (fcn);
|
||||||
FITFCNSZ();
|
FITFCNSZ ();
|
||||||
return R_ANAL_RET_ERROR;
|
return R_ANAL_RET_ERROR;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
//case R_ANAL_OP_TYPE_HLT:
|
||||||
case R_ANAL_OP_TYPE_TRAP:
|
case R_ANAL_OP_TYPE_TRAP:
|
||||||
case R_ANAL_OP_TYPE_UJMP:
|
case R_ANAL_OP_TYPE_UJMP:
|
||||||
case R_ANAL_OP_TYPE_RET:
|
case R_ANAL_OP_TYPE_RET:
|
||||||
|
|
|
@ -394,7 +394,7 @@ default:
|
||||||
op->fail = addr + oplen;
|
op->fail = addr + oplen;
|
||||||
break;
|
break;
|
||||||
case UD_Ihlt:
|
case UD_Ihlt:
|
||||||
//op->type = R_ANAL_OP_TYPE_HALT;
|
op->type = R_ANAL_OP_TYPE_TRAP; //HALT;
|
||||||
break;
|
break;
|
||||||
case UD_Iret:
|
case UD_Iret:
|
||||||
case UD_Iretf:
|
case UD_Iretf:
|
||||||
|
|
Loading…
Reference in New Issue