angr.knowledge_plugins.cfg.indirect_jump

class angr.knowledge_plugins.cfg.indirect_jump.IndirectJumpType

Bases: object

The type of an indirect jump or call.

Jumptable_AddressLoadedFromMemory = 0
Jumptable_AddressComputed = 1
Vtable = 3
Unknown = 255
class angr.knowledge_plugins.cfg.indirect_jump.JumptableInfo

Bases: object

Describes a jump table or a vtable.

__init__(addr, size, entry_size, entries)
Parameters:
addr
size
entry_size
entries
serialize_to_cmessage()
classmethod parse_from_cmessage(cmsg)
Return type:

JumptableInfo

class angr.knowledge_plugins.cfg.indirect_jump.IndirectJump

Bases: Serializable

Describes an indirect jump or call site.

__init__(addr, ins_addr, func_addr, jumpkind, stmt_idx, resolved_targets=None, jumptable=False, jumptable_addr=None, jumptable_size=None, jumptable_entry_size=None, jumptable_entries=None, type_=255)
Parameters:
  • addr (int)

  • ins_addr (int)

  • func_addr (int)

  • jumpkind (str)

  • stmt_idx (int)

  • resolved_targets (list[int] | None)

  • jumptable (bool)

  • jumptable_addr (int | None)

  • jumptable_size (int | None)

  • jumptable_entry_size (int | None)

  • jumptable_entries (list[int] | None)

  • type_ (int | None)

addr
ins_addr
func_addr
jumpkind
stmt_idx
resolved_targets
jumptable
jumptables: list[JumptableInfo]
type
add_jumptable(addr, size, entry_size, entries, is_primary=False)
Return type:

None

Parameters:
property jumptable_addr: int | None
property jumptable_size: int | None
property jumptable_entry_size: int | None
property jumptable_entries: list[int] | None