angr.go.optimization_passes.prototypes

angr.go.optimization_passes.prototypes.receiver_type_from_name(kb, arch, name)

pkg.(*T).M -> the SimType of *pkg.T; pkg.T.M -> pkg.T when it is one word wide. T must be a type the binary describes. Closures (.func1) and plain functions give None.

Parameters:

name (str)

class angr.go.optimization_passes.prototypes.GoPrototypes

Bases: OptimizationPass

Give the current function and its callees their Go prototypes (from DWARF, the stdlib signature database or an external source registered on kb.go_signatures) before return sites, argument lists and call sites are built.

ARCHES = None
PLATFORMS = None
STAGE: OptimizationPassStage = 0
NAME = 'Apply known Go prototypes'
__init__(func, manager, **kwargs)
class angr.go.optimization_passes.prototypes.GoPrototypeApplier

Bases: object

Puts the best known Go prototype of a function on it: a signature, an inferred one, or the bounded guess.

__init__(project, kb)
apply(func)
Return type:

bool

Parameters:

func (Function)