angr.storage.memory_mixins.address_concretization_mixin¶
- class angr.storage.memory_mixins.address_concretization_mixin.MultiwriteAnnotation¶
Bases:
Annotation- property eliminatable¶
Returns whether this annotation can be eliminated in a simplification.
- Returns:
True if eliminatable, False otherwise
- property relocateable¶
- class angr.storage.memory_mixins.address_concretization_mixin.AddressConcretizationMixin¶
Bases:
MemoryMixinThe address concretization mixin allows symbolic reads and writes to be handled sanely by dispatching them as a number of conditional concrete reads/writes. It provides a “concretization strategies” interface allowing the process of serializing symbolic addresses into concrete ones to be specified.
- __init__(read_strategies=None, write_strategies=None, **kwargs)¶
- concretize_write_addr(addr, strategies=None, condition=None)¶
Concretizes an address meant for writing.
- Parameters:
addr – An expression for the address.
strategies – A list of concretization strategies (to override the default).
condition – Any extra constraints that should be observed when determining address satisfiability
- Returns:
A list of concrete addresses.
- concretize_read_addr(addr, strategies=None, condition=None)¶
Concretizes an address meant for reading.
- Parameters:
addr – An expression for the address.
strategies – A list of concretization strategies (to override the default).
- Returns:
A list of concrete addresses.
- load(addr, size=None, *, condition=None, **kwargs)¶
- store(addr, data, size=None, *, condition=None, **kwargs)¶
- permissions(addr, permissions=None, **kwargs)¶
- map_region(addr, length, permissions, **kwargs)¶
- unmap_region(addr, length, **kwargs)¶