diff options
| author | Caroline Leman <caroline.leman@cea.fr> | 2017-03-10 15:45:01 +0100 |
|---|---|---|
| committer | Caroline Leman <caroline.leman@cea.fr> | 2017-03-29 12:33:05 +0200 |
| commit | 5d10f696e0e278318c37d386225dd5c2945a952b (patch) | |
| tree | cb7748f0334f68f9b967942e1f0e87f4a7a8a480 /example/expression | |
| parent | df82c4cd967f269860355ae52a1dbb9901e91a76 (diff) | |
| download | miasm-5d10f696e0e278318c37d386225dd5c2945a952b.tar.gz miasm-5d10f696e0e278318c37d386225dd5c2945a952b.zip | |
analysis: Introduction of use-definition chains
- previous dead_simp function has been moved to data_flow.py - ira class has been simplified - reach analysis code has been 'clarified'
Diffstat (limited to 'example/expression')
| -rw-r--r-- | example/expression/asm_to_ir.py | 4 | ||||
| -rw-r--r-- | example/expression/graph_dataflow.py | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/example/expression/asm_to_ir.py b/example/expression/asm_to_ir.py index b28f8a81..058910e3 100644 --- a/example/expression/asm_to_ir.py +++ b/example/expression/asm_to_ir.py @@ -5,7 +5,7 @@ from miasm2.core import parse_asm from miasm2.expression.expression import * from miasm2.core import asmblock from miasm2.arch.x86.ira import ir_a_x86_32 - +from miasm2.analysis.data_flow import dead_simp # First, asm code blocks, symbol_pool = parse_asm.parse_txt(mn_x86, 32, ''' @@ -47,7 +47,7 @@ for lbl, irblock in ir_arch.blocks.items(): # Dead propagation open('graph.dot', 'w').write(ir_arch.graph.dot()) print '*' * 80 -ir_arch.dead_simp() +dead_simp(ir_arch) open('graph2.dot', 'w').write(ir_arch.graph.dot()) # Display new IR diff --git a/example/expression/graph_dataflow.py b/example/expression/graph_dataflow.py index bd767165..c79cd7d4 100644 --- a/example/expression/graph_dataflow.py +++ b/example/expression/graph_dataflow.py @@ -8,6 +8,7 @@ from miasm2.arch.x86.disasm import dis_x86_32 from miasm2.analysis.data_analysis import intra_bloc_flow_raw, inter_bloc_flow from miasm2.core.graph import DiGraph from miasm2.ir.symbexec import SymbolicExecutionEngine +from miasm2.analysis.data_flow import dead_simp parser = ArgumentParser("Simple expression use for generating dataflow graph") @@ -114,7 +115,7 @@ def gen_block_data_flow_graph(ir_arch, ad, block_flow_cb): for irblock in ir_arch.blocks.values(): print irblock - ir_arch.dead_simp() + dead_simp(ir_arch) irblock_0 = None for irblock in ir_arch.blocks.values(): |