diff options
| author | serpilliere <serpilliere@users.noreply.github.com> | 2015-02-24 13:03:27 +0100 |
|---|---|---|
| committer | serpilliere <serpilliere@users.noreply.github.com> | 2015-02-24 13:03:27 +0100 |
| commit | e593a348527eab2f69005ee934cfce448eac5d5e (patch) | |
| tree | 5ffa447a2fc60950bbd11103eb4dc76031c430b6 /example/disasm/full.py | |
| parent | 190381a59ab54a23a1960a65e7ec6b84358a7916 (diff) | |
| parent | 69181d034b59f97730b529dcce425a199cc945de (diff) | |
| download | miasm-e593a348527eab2f69005ee934cfce448eac5d5e.tar.gz miasm-e593a348527eab2f69005ee934cfce448eac5d5e.zip | |
Merge pull request #88 from commial/machine-ir
Machine ir
Diffstat (limited to 'example/disasm/full.py')
| -rw-r--r-- | example/disasm/full.py | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/example/disasm/full.py b/example/disasm/full.py index f7ca6780..14829755 100644 --- a/example/disasm/full.py +++ b/example/disasm/full.py @@ -57,7 +57,8 @@ if args.verbose: log.info("import machine...") machine = Machine(args.architecture) -mn, dis_engine, ira = machine.mn, machine.dis_engine, machine.ira +mn, dis_engine = machine.mn, machine.dis_engine +ira, ir = machine.ira, machine.ir log.info('ok') log.info('Load binary') @@ -163,21 +164,31 @@ log.info('total lines %s' % total_l) # Bonus, generate IR graph if args.gen_ir: - log.info("generating IR") + log.info("generating IR and IR analysis") - ir_arch = ira(mdis.symbol_pool) + ir_arch = ir(mdis.symbol_pool) + ir_arch_a = ira(mdis.symbol_pool) ir_arch.blocs = {} + ir_arch_a.blocs = {} for ad, all_bloc in all_funcs_blocs.items(): log.info("generating IR... %x" % ad) for b in all_bloc: + ir_arch_a.add_bloc(b) ir_arch.add_bloc(b) + log.info("Print blocs (without analyse)") + for label, bloc in ir_arch.blocs.iteritems(): + print bloc + log.info("Gen Graph... %x" % ad) - ir_arch.gen_graph() + log.info("Print blocs (with analyse)") + for label, bloc in ir_arch_a.blocs.iteritems(): + print bloc + ir_arch_a.gen_graph() if args.simplify: - ir_arch.dead_simp() + ir_arch_a.dead_simp() - out = ir_arch.graph() + out = ir_arch_a.graph() open('graph_irflow.txt', 'w').write(out) |