angr.knowledge_plugins.propagations.prop_value

class angr.knowledge_plugins.propagations.prop_value.Detail

Bases: object

A companion class used together with PropValue. It describes stored information at each offset (in bytes).

Variables:

def_at – Where this expression is defined, or None if it was never explicitly defined in the current block or the current function.

__init__(size, expr, def_at)
Parameters:
size
expr
def_at
class angr.knowledge_plugins.propagations.prop_value.PropValue

Bases: object

Describes immutable basic value type that is used in Propagator.

__init__(value, offset_and_details=None)
Parameters:
value
offset_and_details
property needs_details
property one_expr: Expression | None

Get the expression that starts at offset 0 and covers the entire PropValue. Returns None if there are no expressions or multiple expressions.

property one_defat: CodeLocation | None

Get the definition location of the expression that starts at offset 0 and covers the entire PropValue. Returns None if there are no expressions or multiple expressions.

to_label()
with_details(size, expr, def_at)
Return type:

PropValue

Parameters:
all_exprs()
Return type:

Generator[Expression]

non_zero_exprs()
Return type:

Generator[Expression]

static chop_value(value, begin_offset, end_offset)
Return type:

Bits

Parameters:

value (Bits)

value_and_labels()
Return type:

Generator[tuple[int, Bits, int, dict | None]]

static from_value_and_labels(value, labels)
Return type:

PropValue

Parameters:
static from_value_and_details(value, size, expr, def_at)
Parameters:
static extract_ail_expression(start, bits, expr)
Return type:

Expression | None

Parameters:
static extend_ail_expression(bits, expr)
Return type:

Expression | None

Parameters: