angr.analyses.cfg.cfb¶
- class angr.analyses.cfg.cfb.CFBlanketView¶
Bases:
objectA view into the control-flow blanket.
- __init__(cfb)¶
- class angr.analyses.cfg.cfb.MemoryRegion¶
Bases:
object- __init__(addr, size, type_, object_, cle_region)¶
- class angr.analyses.cfg.cfb.Unknown¶
Bases:
objectAn unknown byte region in a control-flow blanket.
- MAX_BYTES = 1616¶
- __init__(addr, size, bytes_=None, object_=None, segment=None, section=None, loader=None)¶
- property bytes¶
The bytes of this region, for display purposes. Lazily loaded on first access (and capped at MAX_BYTES) when a loader is available.
- class angr.analyses.cfg.cfb.CFBlanket¶
Bases:
AnalysisA Control-Flow Blanket is a representation for storing all instructions, data entries, and bytes of a full program.
Region types: - section - segment - extern - tls - kernel
- __init__(exclude_region_types=None, on_object_added=None, on_object_removed=None)¶
- property regions¶
Return all memory regions.
- floor_items(addr=None, reverse=False)¶
- ceiling_items(addr=None, reverse=False, include_first=True)¶
- add_obj(addr, obj)¶
Add an object obj to the blanket at the specified address addr, keeping the blanket non-overlapping: existing objects that overlap [addr, addr + obj.size) are removed or trimmed, and the trimmed-off remainders are re-inserted. Objects without an integer size are stored as zero-span entries and never cause trimming.
- remove_obj(addr, fill=True)¶
Remove the object at addr from the blanket. When fill is set (the default), the removed object’s span is re-filled with an Unknown region so that the blanket remains a total cover of the mapped address space. Removing a missing address is a no-op.
- Returns:
The removed object, or None if no object exists at addr.
- Parameters:
fill (bool)
- add_function(func)¶
Add a function func and all blocks of this function to the blanket.