angr.storage.memory_object¶
- angr.storage.memory_object.obj_bit_size(o)¶
- class angr.storage.memory_object.SimMemoryObject¶
Bases:
objectA SimMemoryObject is a reference to a byte or several bytes in a specific object in memory. It should be used only by the bottom layer of memory.
- __init__(obj, base, endness, length=None, byte_width=8)¶
- is_bytes
- base
- length
- endness
- size()¶
- property variables¶
- property symbolic¶
- property last_addr¶
- includes(x)¶
- bytes_at(addr, length, allow_concrete=False, endness='Iend_BE')¶
- class angr.storage.memory_object.SimLabeledMemoryObject¶
Bases:
SimMemoryObjectSimLabeledMemoryObject is a SimMemoryObject with a label
- __init__(obj, base, endness, length=None, byte_width=8, label=None)¶
- label
- angr.storage.memory_object.bv_slice(value, offset, size, rev, bw)¶
Extremely cute utility to pretend you’ve serialized a value to stored bytes, sliced it a la python slicing, and then deserialized those bytes to an integer again.
- Parameters:
value (
BV) – The bitvector to sliceoffset (
int) – The byte offset from the first stored byte to slice from, or a negative offset from the end.size (
int) – The number of bytes to return. If None, return all bytes from the offset to the end. If larger than the number of bytes from the offset to the end, return all bytes from the offset to the end.rev (
bool) – Whether the pretend-serialization should be little-endianbw (
int) – The byte width
- Return type:
- Returns:
The new bitvector