B2R2


Function Type

Function is a non-overlapping chunk of code in a binary. We do not allow function overlaps. When there exist two functions sharing common basic blocks, B2R2 will create a new function to represent the common blocks. Function can also represent a function defined outside of the current binary. Such functions are called ExternalFunction.

Constructors

Constructor Description

Function(entry, name)

Full Usage: Function(entry, name)

Parameters:
    entry : Addr
    name : string

Returns: Function
entry : Addr
name : string
Returns: Function

Instance members

Instance member Description

this.Callers

Full Usage: this.Callers

Returns: SortedSet<Addr>

A set of functions which call this function.

Returns: SortedSet<Addr>

this.Entry

Full Usage: this.Entry

Returns: Addr

Starting address of the function.

Returns: Addr

this.FunctionID

Full Usage: this.FunctionID

Returns: string

Function's unique ID. This field is used to distinguish between functions.

Returns: string

this.FunctionKind

Full Usage: this.FunctionKind

Returns: FunctionKind
Modifiers: abstract

Function's kind. Is this external or regular?

Returns: FunctionKind

this.FunctionName

Full Usage: this.FunctionName

Returns: string

Function's symbolic name.

Returns: string

this.NoReturnProperty

Full Usage: this.NoReturnProperty

No-return property of this function.

this.RegisterCallers(newCallers)

Full Usage: this.RegisterCallers(newCallers)

Parameters:

Register a set of callers to this function.

newCallers : Set<Addr>