angr.analyses.data_dep

class angr.analyses.data_dep.BaseDepNode

Bases: object

Base class for all nodes in a data-dependency graph

__init__(type_, sim_act)
Parameters:
value_tuple()
Return type:

tuple[BV, int]

Returns:

A tuple containing the node’s value as a BV and as an evaluated integer

property ast: BV
property type: int

Getter :return: An integer defined in DepNodeTypes, represents the subclass type of this DepNode.

class angr.analyses.data_dep.ConstantDepNode

Bases: BaseDepNode

Used to create a DepNode that will hold a constant, numeric value Uniquely identified by its value

__init__(sim_act, value)
Parameters:
class angr.analyses.data_dep.DataDependencyGraphAnalysis

Bases: Analysis

This is a DYNAMIC data dependency graph that utilizes a given SimState to produce a DDG graph that is accurate to the path the program took during execution.

This analysis utilizes the SimActionData objects present in the provided SimState’s action history to generate the dependency graph.

__init__(end_state, start_from=None, end_at=None, block_addrs=None)
Parameters:
  • end_state (SimState) – Simulation state used to extract all SimActionData

  • start_from (int | None) – An address or None, Specifies where to start generation of DDG

  • end_at (int | None) – An address or None, Specifies where to end generation of DDG

  • block_addrs (list[int] | None) – List of block addresses that the DDG analysis should be run on

property graph: DiGraph | None
property simplified_graph: DiGraph | None
property sub_graph: DiGraph | None
get_data_dep(g_node, include_tmp_nodes, backwards)
Return type:

DiGraph | None

Parameters:
class angr.analyses.data_dep.DepNodeTypes

Bases: object

Enumeration of types of BaseDepNode supported by this analysis

Memory = 1
Register = 2
Tmp = 3
Constant = 4
class angr.analyses.data_dep.MemDepNode

Bases: BaseDepNode

Used to represent SimActions of type MEM

__init__(sim_act, addr)
Parameters:
property width: int
classmethod cast_to_mem(base_dep_node)

Casts a BaseDepNode into a MemDepNode

Parameters:

base_dep_node (BaseDepNode)

class angr.analyses.data_dep.RegDepNode

Bases: VarDepNode

Base class for representing SimActions of TYPE reg

__init__(sim_act, reg, arch_name='')
Parameters:
property reg_size: int
class angr.analyses.data_dep.TmpDepNode

Bases: VarDepNode

Used to represent SimActions of type TMP

__init__(sim_act, reg, arch_name='')
Parameters:
class angr.analyses.data_dep.VarDepNode

Bases: BaseDepNode

Abstract class for representing SimActions of TYPE reg or tmp

__init__(type_, sim_act, reg, arch_name='')
Parameters:
property display_name: str

Submodules

data_dependency_analysis

Defines analysis that will generate a dynamic data-dependency graph

dep_nodes

sim_act_location