angr.engines.pcode.behavior¶
- angr.engines.pcode.behavior.make_bv_sizes_equal(bv1, bv2, zero_ext=False)¶
Makes two BVs equal in length through sign extension.
- class angr.engines.pcode.behavior.OpBehavior¶
Bases:
objectBase class for all operation behaviors.
- __init__(opcode, is_unary, is_special=False)¶
- opcode: OpCode
- is_unary: bool
- is_special: bool
- evaluate_unary(size_out, size_in, in1)¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- static generic_compare(args, comparison)¶
- class angr.engines.pcode.behavior.OpBehaviorCopy¶
Bases:
OpBehaviorBehavior for the COPY operation.
- __init__()¶
- evaluate_unary(size_out, size_in, in1)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorEqual¶
Bases:
OpBehaviorBehavior for the INT_EQUAL operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorNotEqual¶
Bases:
OpBehaviorBehavior for the INT_NOTEQUAL operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntSless¶
Bases:
OpBehaviorBehavior for the INT_SLESS operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntSlessEqual¶
Bases:
OpBehaviorBehavior for the INT_SLESSEQUAL operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntLess¶
Bases:
OpBehaviorBehavior for the INT_LESS operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntLessEqual¶
Bases:
OpBehaviorBehavior for the INT_LESSEQUAL operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntZext¶
Bases:
OpBehaviorBehavior for the INT_ZEXT operation.
- __init__()¶
- evaluate_unary(size_out, size_in, in1)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntSext¶
Bases:
OpBehaviorBehavior for the INT_SEXT operation.
- __init__()¶
- evaluate_unary(size_out, size_in, in1)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntAdd¶
Bases:
OpBehaviorBehavior for the INT_ADD operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntSub¶
Bases:
OpBehaviorBehavior for the INT_SUB operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntCarry¶
Bases:
OpBehaviorBehavior for the INT_CARRY operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntScarry¶
Bases:
OpBehaviorBehavior for the INT_SCARRY operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntSborrow¶
Bases:
OpBehaviorBehavior for the INT_SBORROW operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorInt2Comp¶
Bases:
OpBehaviorBehavior for the INT_2COMP operation.
- __init__()¶
- evaluate_unary(size_out, size_in, in1)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntNegate¶
Bases:
OpBehaviorBehavior for the INT_NEGATE operation.
- __init__()¶
- evaluate_unary(size_out, size_in, in1)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntXor¶
Bases:
OpBehaviorBehavior for the INT_XOR operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntAnd¶
Bases:
OpBehaviorBehavior for the INT_AND operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntOr¶
Bases:
OpBehaviorBehavior for the INT_OR operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntLeft¶
Bases:
OpBehaviorBehavior for the INT_LEFT operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntRight¶
Bases:
OpBehaviorBehavior for the INT_RIGHT operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntSright¶
Bases:
OpBehaviorBehavior for the INT_SRIGHT operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntMult¶
Bases:
OpBehaviorBehavior for the INT_MULT operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntDiv¶
Bases:
OpBehaviorBehavior for the INT_DIV operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntSdiv¶
Bases:
OpBehaviorBehavior for the INT_SDIV operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntRem¶
Bases:
OpBehaviorBehavior for the INT_REM operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorIntSrem¶
Bases:
OpBehaviorBehavior for the INT_SREM operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorBoolNegate¶
Bases:
OpBehaviorBehavior for the BOOL_NEGATE operation.
- __init__()¶
- evaluate_unary(size_out, size_in, in1)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorBoolXor¶
Bases:
OpBehaviorBehavior for the BOOL_XOR operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorBoolAnd¶
Bases:
OpBehaviorBehavior for the BOOL_AND operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorBoolOr¶
Bases:
OpBehaviorBehavior for the BOOL_OR operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatEqual¶
Bases:
OpBehaviorBehavior for the FLOAT_EQUAL operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatNotEqual¶
Bases:
OpBehaviorBehavior for the FLOAT_NOTEQUAL operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatLess¶
Bases:
OpBehaviorBehavior for the FLOAT_LESS operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatLessEqual¶
Bases:
OpBehaviorBehavior for the FLOAT_LESSEQUAL operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatNan¶
Bases:
OpBehaviorBehavior for the FLOAT_NAN operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatAdd¶
Bases:
OpBehaviorBehavior for the FLOAT_ADD operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatDiv¶
Bases:
OpBehaviorBehavior for the FLOAT_DIV operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatMult¶
Bases:
OpBehaviorBehavior for the FLOAT_MULT operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatSub¶
Bases:
OpBehaviorBehavior for the FLOAT_SUB operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatNeg¶
Bases:
OpBehaviorBehavior for the FLOAT_NEG operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatAbs¶
Bases:
OpBehaviorBehavior for the FLOAT_ABS operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatSqrt¶
Bases:
OpBehaviorBehavior for the FLOAT_SQRT operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatInt2Float¶
Bases:
OpBehaviorBehavior for the FLOAT_INT2FLOAT operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatFloat2Float¶
Bases:
OpBehaviorBehavior for the FLOAT_FLOAT2FLOAT operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatTrunc¶
Bases:
OpBehaviorBehavior for the FLOAT_TRUNC operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatCeil¶
Bases:
OpBehaviorBehavior for the FLOAT_CEIL operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatFloor¶
Bases:
OpBehaviorBehavior for the FLOAT_FLOOR operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorFloatRound¶
Bases:
OpBehaviorBehavior for the FLOAT_ROUND operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorPiece¶
Bases:
OpBehaviorBehavior for the PIECE operation.
- __init__()¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorSubpiece¶
Bases:
OpBehaviorBehavior for the SUBPIECE operation.
- __init__()¶
- evaluate_binary(size_out, size_in, in1, in2)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode
- class angr.engines.pcode.behavior.OpBehaviorPopcount¶
Bases:
OpBehaviorBehavior for the POPCOUNT operation.
- __init__()¶
- evaluate_unary(size_out, size_in, in1)¶
- is_special: bool
- is_unary: bool
- opcode: OpCode