angr.knowledge_plugins.xrefs

class angr.knowledge_plugins.xrefs.XRef

Bases: Serializable

XRef describes a reference to a MemoryData instance (if a MemoryData instance is available) or just an address.

__init__(ins_addr=None, block_addr=None, stmt_idx=None, insn_op_idx=None, memory_data=None, dst=None, xref_type=None)
Parameters:
  • ins_addr (int | None)

  • block_addr (int | None)

  • stmt_idx (int | None)

  • insn_op_idx (int | None)

  • memory_data (MemoryData | None)

  • dst (int | None)

ins_addr: int | None
insn_op_idx: int | None
block_addr: int | None
stmt_idx: int | None
memory_data
type
dst
property type_string
insn_op_type
copy()
class angr.knowledge_plugins.xrefs.XRefManager

Bases: KnowledgeBasePlugin, Serializable

__init__(kb)
copy()
clear()
add_xref(xref)
add_xrefs(xrefs)
get_xrefs_by_ins_addr(ins_addr)
get_xrefs_by_dst(dst)
get_xrefs_by_dst_region(start, end)

Get a set of XRef objects that point to a given address region bounded by start and end. Will only return absolute xrefs, not relative ones (like SP offsets)

get_xrefs_by_ins_addr_region(start, end)

Get a set of XRef objects that originate at a given address region bounded by start and end. Useful for finding references from a basic block or function.

Return type:

set[XRef]

class angr.knowledge_plugins.xrefs.XRefType

Bases: object

Offset = 0
Read = 1
Write = 2
static to_string(ty)

Submodules