angr.angrdb.v1

angrDb Version 1 compatibility logic.

angrDb v1 stores function graphs as per-block and per-edge protobuf messages. We will deprecate the v1 compatibility logic in about a year’s time.

class angr.angrdb.v1.AngrDbV1

Bases: object

Reader and writer of the angrDb v1-specific data types. Static methods only.

static serialize_function(function)

Serialize a Function with its metadata as FunctionParser.serialize() writes it and its graph in the angrDb v1 per-block / per-edge layout.

Return type:

Function

static local_block_addrs(cmsg)

The addresses of the local blocks of an angrDb v1 function record, without building the Function.

Return type:

set[int]

static write_graph(function, obj)
Return type:

None

Parameters:

function (Function)

static node_to_block_cmsg(node)
Return type:

Block

static node_from_block_cmsg(block, project)
static parse_function(cmsg, obj, project, meta_only)

Rebuild the graph of obj from the per-block / per-edge layout of cmsg.

Parameters:

meta_only (bool)

static add_endpoint(func, block, endpoint_type)
Return type:

None

Parameters:

block (CodeNode)

static get_external_node(addr, external_nodes, external_func_addrs, project)
Return type:

CodeNode

Parameters: