miasm
Reverse engineering framework
graph_dataflow Namespace Reference

Functions

def get_node_name (label, i, n)
 
def intra_block_flow_symb (ir_arch, _, flow_graph, irblock, in_nodes, out_nodes)
 
def node2str (node)
 
def gen_block_data_flow_graph (ir_arch, ircfg, ad, block_flow_cb)
 

Variables

 parser = ArgumentParser("Simple expression use for generating dataflow graph")
 
 help
 
 action
 
 args = parser.parse_args()
 
 ad = int(args.addr, 16)
 
 loc_db = LocationDB()
 
 cont = Container.from_stream(open(args.filename, 'rb'), loc_db)
 
 machine = Machine("x86_32")
 
 mdis = machine.dis_engine(cont.bin_stream, loc_db=loc_db)
 
 follow_call
 
 asmcfg = mdis.dis_multiblock(ad)
 
 ir_arch_analysis = machine.ira(loc_db)
 
 ircfg = ir_arch_analysis.new_ircfg_from_asmcfg(asmcfg)
 
 deadrm = DeadRemoval(ir_arch_analysis)
 
def block_flow_cb = intra_block_flow_symb
 

Function Documentation

◆ gen_block_data_flow_graph()

def graph_dataflow.gen_block_data_flow_graph (   ir_arch,
  ircfg,
  ad,
  block_flow_cb 
)
Here is the call graph for this function:

◆ get_node_name()

def graph_dataflow.get_node_name (   label,
  i,
  n 
)
Here is the caller graph for this function:

◆ intra_block_flow_symb()

def graph_dataflow.intra_block_flow_symb (   ir_arch,
  _,
  flow_graph,
  irblock,
  in_nodes,
  out_nodes 
)
Here is the call graph for this function:

◆ node2str()

def graph_dataflow.node2str (   node)

Variable Documentation

◆ action

graph_dataflow.action

◆ ad

graph_dataflow.ad = int(args.addr, 16)

◆ args

graph_dataflow.args = parser.parse_args()

◆ asmcfg

graph_dataflow.asmcfg = mdis.dis_multiblock(ad)

◆ block_flow_cb

graph_dataflow.block_flow_cb = intra_block_flow_symb

◆ cont

graph_dataflow.cont = Container.from_stream(open(args.filename, 'rb'), loc_db)

◆ deadrm

graph_dataflow.deadrm = DeadRemoval(ir_arch_analysis)

◆ follow_call

graph_dataflow.follow_call

◆ help

graph_dataflow.help

◆ ir_arch_analysis

graph_dataflow.ir_arch_analysis = machine.ira(loc_db)

◆ ircfg

graph_dataflow.ircfg = ir_arch_analysis.new_ircfg_from_asmcfg(asmcfg)

◆ loc_db

graph_dataflow.loc_db = LocationDB()

◆ machine

graph_dataflow.machine = Machine("x86_32")

◆ mdis

graph_dataflow.mdis = machine.dis_engine(cont.bin_stream, loc_db=loc_db)

◆ parser

graph_dataflow.parser = ArgumentParser("Simple expression use for generating dataflow graph")