angr.analyses.s_reaching_definitions¶
- class angr.analyses.s_reaching_definitions.SRDAModel
Bases:
objectThe model for SRDA.
- __init__(func_graph, func_args, arch)
- add_vvar_use(vvar_id, expr, loc)
- Return type:
- Parameters:
vvar_id (int)
expr (VirtualVariable | None)
loc (AILCodeLocation)
- property all_definitions: Iterator[Definition[VirtualVariable, AILCodeLocation]]
- get_all_definitions(block_loc)
- Return type:
- Parameters:
block_loc (AILCodeLocation)
- get_all_tmp_definitions(block_loc)
- Return type:
- Parameters:
block_loc (Address)
- get_uses_by_location(loc, exprs=False)
- Overloads:
self, loc (AILCodeLocation), exprs (Literal[True]) → set[tuple[Definition[atoms.VirtualVariable, AILCodeLocation], Any | None]]
self, loc (AILCodeLocation), exprs (Literal[False]) → set[Definition[atoms.VirtualVariable, AILCodeLocation]]
- Parameters:
loc (AILCodeLocation)
exprs (bool)
- Return type:
set[Definition[VirtualVariable, AILCodeLocation]] | set[tuple[Definition[VirtualVariable, AILCodeLocation], Any | None]]
Retrieve all definitions that are used at a given location.
- Parameters:
loc (
AILCodeLocation) – The code location.exprs (bool)
- Returns:
A set of definitions that are used at the given location.
- Return type:
set[Definition[VirtualVariable, AILCodeLocation]] | set[tuple[Definition[VirtualVariable, AILCodeLocation], Any | None]]
- get_vvar_uses(obj)
- Return type:
- Parameters:
obj (VirtualVariable | VirtualVariable)
- get_vvar_uses_with_expr(obj)
- Return type:
- Parameters:
obj (VirtualVariable | VirtualVariable)
- get_tmp_uses(obj, block_loc)
- Return type:
- Parameters:
obj (Tmp)
block_loc (Address)
- get_uses_by_def(def_)
- Return type:
- Parameters:
def_ (Definition[VirtualVariable | Tmp, AILCodeLocation])
- class angr.analyses.s_reaching_definitions.SRDAView
Bases:
objectA view of SRDA model that provides various functionalities for querying the model.
- __init__(model)
- Parameters:
model (SRDAModel)
- get_reg_vvar_by_stmt(reg_offset, min_size, block_addr, block_idx, stmt_idx, op_type)
- Return type:
- Parameters:
- get_stack_vvar_by_stmt(stack_offset, size, block_addr, block_idx, stmt_idx, op_type)
- Return type:
- Parameters:
- get_reg_vvar_by_insn(reg_offset, min_size, addr, op_type, block_idx=None)
- Return type:
- Parameters:
reg_offset (int)
min_size (int)
addr (int)
op_type (ObservationPointType)
block_idx (int | None)
- get_stack_vvar_by_insn(stack_offset, size, addr, op_type, block_idx=None)
- Return type:
- Parameters:
stack_offset (int)
size (int)
addr (int)
op_type (ObservationPointType)
block_idx (int | None)
- get_vvar_value(vvar)
- Return type:
- Parameters:
vvar (VirtualVariable)
- class angr.analyses.s_reaching_definitions.SReachingDefinitionsAnalysis
Bases:
AnalysisConstant and expression propagation that only supports SSA AIL graphs.
- __init__(subject, func_addr=None, func_graph=None, func_args=None, use_callee_saved_regs_at_return=False, track_tmps=False)
Submodules