angr.analyses.pathfinder

exception angr.analyses.pathfinder.Unreachable

Bases: Exception

class angr.analyses.pathfinder.SimStateMarker

Bases: object

SimStateMarker(addr: ‘int’, parent: ‘SimStateMarker | None’ = None, banned: ‘bool’ = False, misses: ‘int’ = 0)

addr: int
parent: SimStateMarker | None = None
banned: bool = False
misses: int = 0
__init__(addr, parent=None, banned=False, misses=0)
Parameters:
Return type:

None

class angr.analyses.pathfinder.SuccessorsKind

Bases: Enum

SAT = 1
UNSAT = 2
MISSING = 3
class angr.analyses.pathfinder.TestPathReport

Bases: object

TestPathReport(path_markers: ‘dict[int, SimStateMarker]’, termination: ‘SuccessorsKind’)

path_markers: dict[int, SimStateMarker]
termination: SuccessorsKind
__init__(path_markers, termination)
Parameters:
Return type:

None

angr.analyses.pathfinder.nilref()
class angr.analyses.pathfinder.Pathfinder

Bases: Analysis

__init__(start_state, goal_addr, cfg, cache_size=10000)
Parameters:
goal_state: SimState | None
transition_cache: DiGraph[SimStateMarker]
base_heuristic: dict[int, int]
cache_state(state)
Parameters:

state (SimState)

marker_to_state(marker)
Return type:

SimState | None

Parameters:

marker (SimStateMarker)

analyze()
Return type:

bool

find_best_hypothesis_path()
Return type:

tuple[int, ...]

diagnose_unsat(state)
Parameters:

state (SimState)

test_path(bbl_addr_trace)
Return type:

TestPathReport

Parameters:

bbl_addr_trace (tuple[int, ...])

angr.analyses.pathfinder.find_successor(successors, target_addr)
Return type:

tuple[SimState | None, SuccessorsKind]

Parameters: