diff options
| author | Camille Mougey <commial@gmail.com> | 2018-07-05 17:52:12 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-07-05 17:52:12 +0200 |
| commit | a3961b92c47a9cc47510601b57267822fcbdcbdf (patch) | |
| tree | ac39a9859983baff15d52533829d95ffa760f633 /example/expression/asm_to_ir.py | |
| parent | f5fd096d35a9b3811097c40f553c90d3036cc035 (diff) | |
| parent | 045182c94d6bb1c9417b612d88fd469e0f87872f (diff) | |
| download | miasm-a3961b92c47a9cc47510601b57267822fcbdcbdf.tar.gz miasm-a3961b92c47a9cc47510601b57267822fcbdcbdf.zip | |
Merge pull request #784 from serpilliere/split_ir_graph
Split ir graph
Diffstat (limited to 'example/expression/asm_to_ir.py')
| -rw-r--r-- | example/expression/asm_to_ir.py | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/example/expression/asm_to_ir.py b/example/expression/asm_to_ir.py index 6db07e9b..7036d960 100644 --- a/example/expression/asm_to_ir.py +++ b/example/expression/asm_to_ir.py @@ -7,6 +7,7 @@ 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 asmcfg, loc_db = parse_asm.parse_txt(mn_x86, 32, ''' main: @@ -35,22 +36,19 @@ patches = asmblock.asm_resolve_final(mn_x86, asmcfg, loc_db) # Translate to IR ir_arch = ir_a_x86_32(loc_db) -for block in asmcfg.blocks: - print 'add block' - print block - ir_arch.add_block(block) +ircfg = ir_arch.new_ircfg_from_asmcfg(asmcfg) # Display IR -for lbl, irblock in ir_arch.blocks.items(): +for lbl, irblock in ircfg.blocks.items(): print irblock # Dead propagation -open('graph.dot', 'w').write(ir_arch.graph.dot()) +open('graph.dot', 'w').write(ircfg.dot()) print '*' * 80 -dead_simp(ir_arch) -open('graph2.dot', 'w').write(ir_arch.graph.dot()) +dead_simp(ir_arch, ircfg) +open('graph2.dot', 'w').write(ircfg.dot()) # Display new IR print 'new ir blocks' -for lbl, irblock in ir_arch.blocks.items(): +for lbl, irblock in ircfg.blocks.items(): print irblock |