angr.storage.memory_mixins.size_resolution_mixin¶
- class angr.storage.memory_mixins.size_resolution_mixin.SizeNormalizationMixin¶
Bases:
MemoryMixinProvides basic services related to normalizing sizes. After this mixin, sizes will always be a plain int. Assumes that the data is a BV.
load will throw a TypeError if no size is provided
store will default to len(data)//byte_width if no size is provided
- load(addr, size=None, **kwargs)¶
- store(addr, data, size=None, **kwargs)¶
- class angr.storage.memory_mixins.size_resolution_mixin.SizeConcretizationMixin¶
Bases:
MemoryMixinThis mixin allows memory to process symbolic sizes. It will not touch any sizes which are not ASTs with non-BVV ops. Assumes that the data is a BV.
symbolic load sizes will be concretized as their maximum and a warning will be logged
symbolic store sizes will be dispatched as several conditional stores with concrete sizes
- __init__(concretize_symbolic_write_size=False, max_concretize_count=256, max_symbolic_size=4194304, raise_memory_limit_error=False, size_limit=257, **kwargs)¶
- load(addr, size=None, **kwargs)¶
- store(addr, data, size=None, *, condition=None, **kwargs)¶