angr.analyses.cfg.indirect_jump_resolvers.mips_elf_fast

angr.analyses.cfg.indirect_jump_resolvers.mips_elf_fast.enable_profiling()
angr.analyses.cfg.indirect_jump_resolvers.mips_elf_fast.disable_profiling()
class angr.analyses.cfg.indirect_jump_resolvers.mips_elf_fast.Case2Result

Bases: Enum

Describes the result of resolving case 2 function calls.

SUCCESS = 0
FAILURE = 1
RESUME = 2
class angr.analyses.cfg.indirect_jump_resolvers.mips_elf_fast.MipsElfFastResolver

Bases: IndirectJumpResolver

A timeless indirect jump resolver for R9-based indirect function calls in MIPS ELFs.

__init__(project)
resolve(cfg, addr, func_addr, block, jumpkind, func_graph_complete=True, **kwargs)

Wrapper for _resolve that slowly increments the max_depth used by Blade for finding sources until we can resolve the addr or we reach the default max_depth

Parameters:
  • cfg – A CFG instance.

  • addr (int) – IRSB address.

  • func_addr (int) – The function address.

  • block (pyvex.IRSB) – The IRSB.

  • jumpkind (str) – The jumpkind.

  • func_graph_complete (bool)

Returns:

If it was resolved and targets alongside it

Return type:

tuple