View difference between Paste ID: J3v35Rj6 and dLfAFzSf
SHOW: | | - or go back to the newest paste.
1
// @ https://twitter.com/binpwn/status/1578861528153227264
2
graph = FlowGraph()
3
nodes = {}
4
for fcn in bv.functions:
5
    node = FlowGraphNode(graph)
6
    node.lines = [fcn.name]
7
    nodes[fcn.name] = node
8
    graph.append(node)
9
10
edge = EdgeStyle(EdgePenStyle.DashDotDotLine, 2, ThemeColor.AddressColor)
11
for fcn in bv.functions:
12
    xrefs = bv.get_code_refs(fcn.start)
13
    for xref in xrefs:
14
        parent = nodes[xref.function.name]
15
        child = nodes[fcn.name]
16
        parent.add_outgoing_edge(BranchType.UserDefinedBranch, child, edge)
17
        print(f"{xref.function.name} -> {fcn.name}")
18
19
bv.show_graph_report("Function Flow", graph)