angr.analyses.cfg.indirect_jump_resolvers.memload_resolver

class angr.analyses.cfg.indirect_jump_resolvers.memload_resolver.MemoryLoadResolver

Bases: IndirectJumpResolver

Resolve an indirect jump that looks like the following:

.text:
                call    off_3314A8

.data:
off_3314A8      dd offset sub_1E426F

This indirect jump resolver may not be the best solution for all cases (e.g., when the .data section can be intentionally altered by the binary itself).

__init__(project)
resolve(cfg, addr, func_addr, block, jumpkind, func_graph_complete=True, **kwargs)
Parameters:
  • cfg – CFG with specified function

  • addr (int) – Address of indirect jump

  • func_addr (int) – Address of function of indirect jump

  • block (IRSB) – Block of indirect jump (Block object)

  • jumpkind (str) – VEX jumpkind (Ijk_Boring or Ijk_Call)

  • func_graph_complete (bool)

Returns:

Bool tuple with replacement address