angr.analyses.identifier.custom_callable

class angr.analyses.identifier.custom_callable.IdentifierCallable

Bases: object

Callable is a representation of a function in the binary that can be interacted with like a native python function.

If you set perform_merge=True (the default), the result will be returned to you, and you can get the result state with callable.result_state.

Otherwise, you can get the resulting path group (immutable) at callable.result_path_group.

__init__(project, addr, concrete_only=False, perform_merge=False, base_state=None, toc=None, cc=None, max_steps=None)
Parameters:
  • project – The project to operate on

  • addr – The address of the function to use

  • concrete_only – Throw an exception if the execution splits into multiple paths

  • perform_merge – Merge all result states into one at the end (only relevant if concrete_only=False)

  • base_state – The state from which to do these runs

  • toc – The address of the table of contents for ppc64

  • cc – The SimCC to use for a calling convention

set_base_state(state)

Swap out the state you’d like to use to perform the call :type state: :param state: The state to use to perform the call

get_base_state(*args)
perform_call(*args, prototype=None)