angr.analyses.xrefs

class angr.analyses.xrefs.SimEngineXRefsVEX

Bases: SimEngineNostmtVEX[None, None, None]

The VEX engine class for XRefs analysis.

__init__(xref_manager, project, replacements=None)
add_xref(xref_type, from_loc, to_loc)
static extract_value_if_concrete(expr)

Extract the concrete value from expr if it is a concrete claripy AST.

Parameters:

expr – A claripy AST.

Return type:

int | None

Returns:

A concrete value or None if nothing concrete can be extracted.

class angr.analyses.xrefs.XRefsAnalysis

Bases: ForwardAnalysis, Analysis

XRefsAnalysis recovers in-depth x-refs (cross-references) in disassembly code.

Here is an example:

.text:
000023C8                 LDR     R2, =time_now
000023CA                 LDR     R3, [R2]
000023CC                 ADDS    R3, #1
000023CE                 STR     R3, [R2]
000023D0                 BX      LR

.bss:
1FFF36F4 time_now        % 4

You will have the following x-refs for time_now:

23c8 - offset
23ca - read access
23ce - write access