From 039c2ca9d9a4e2359b3a4c004b1df821cc38f489 Mon Sep 17 00:00:00 2001 From: Ajax Date: Thu, 30 Apr 2015 18:06:06 +0200 Subject: GraphDataflow: A function where never executed / tested --- example/expression/graph_dataflow.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'example/expression/graph_dataflow.py') diff --git a/example/expression/graph_dataflow.py b/example/expression/graph_dataflow.py index a4f26aec..1450b33b 100644 --- a/example/expression/graph_dataflow.py +++ b/example/expression/graph_dataflow.py @@ -13,6 +13,8 @@ from miasm2.ir.symbexec import symbexec parser = ArgumentParser("Simple expression use for generating dataflow graph") parser.add_argument("filename", help="File to analyse") parser.add_argument("addr", help="Function's address") +parser.add_argument("-s", "--symb", help="Symbolic execution mode", + action="store_true") args = parser.parse_args() @@ -108,7 +110,7 @@ def node2str(self, node): return out -def gen_bloc_data_flow_graph(ir_arch, ad): +def gen_bloc_data_flow_graph(ir_arch, ad, block_flow_cb): for irbloc in ir_arch.blocs.values(): print irbloc @@ -125,8 +127,7 @@ def gen_bloc_data_flow_graph(ir_arch, ad): flow_graph.node2str = lambda n: node2str(flow_graph, n) for irbloc in ir_arch.blocs.values(): - intra_bloc_flow_raw(ir_arch, flow_graph, irbloc) - # intra_bloc_flow_symb(ir_arch, flow_graph, irbloc) + block_flow_cb(ir_arch, flow_graph, irbloc) for irbloc in ir_arch.blocs.values(): print irbloc @@ -164,7 +165,12 @@ for irbloc in ir_arch.blocs.values(): continue -gen_bloc_data_flow_graph(ir_arch, ad) +if args.symb: + block_flow_cb = intra_bloc_flow_symb +else: + block_flow_cb = intra_bloc_flow_raw + +gen_bloc_data_flow_graph(ir_arch, ad, block_flow_cb) print '*' * 40 print """ -- cgit 1.4.1