diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2018-02-09 10:01:53 +0100 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2018-02-09 10:55:39 +0100 |
| commit | 4b257d2d82c6323c6bc521017d0649b8cc7b3747 (patch) | |
| tree | ba1510429a1b61c0bd08c7ce23a16f3309d3a6ea /example | |
| parent | eca476334f93f023e57048453eb9ec4ee4fab9d2 (diff) | |
| download | miasm-4b257d2d82c6323c6bc521017d0649b8cc7b3747.tar.gz miasm-4b257d2d82c6323c6bc521017d0649b8cc7b3747.zip | |
IRBlock: irblock iterates on its assignblks
Diffstat (limited to 'example')
| -rw-r--r-- | example/expression/get_read_write.py | 8 | ||||
| -rw-r--r-- | example/ida/ctype_propagation.py | 2 | ||||
| -rw-r--r-- | example/ida/depgraph.py | 4 | ||||
| -rw-r--r-- | example/ida/graph_ir.py | 4 | ||||
| -rw-r--r-- | example/symbol_exec/depgraph.py | 6 |
5 files changed, 12 insertions, 12 deletions
diff --git a/example/expression/get_read_write.py b/example/expression/get_read_write.py index a31105b2..b4a0773b 100644 --- a/example/expression/get_read_write.py +++ b/example/expression/get_read_write.py @@ -16,10 +16,10 @@ l.offset, l.l = 0, 15 ir_arch.add_instr(l) print '*' * 80 -for lbl, b in ir_arch.blocks.items(): - print b - for irs in b.assignblks: - o_r, o_w = get_rw(irs) +for lbl, irblock in ir_arch.blocks.items(): + print irblock + for assignblk in irblock: + o_r, o_w = get_rw(assignblk) print 'read: ', [str(x) for x in o_r] print 'written:', [str(x) for x in o_w] print diff --git a/example/ida/ctype_propagation.py b/example/ida/ctype_propagation.py index 88036bcb..54b23516 100644 --- a/example/ida/ctype_propagation.py +++ b/example/ida/ctype_propagation.py @@ -114,7 +114,7 @@ class SymbExecCTypeFix(SymbExecCType): """ offset2cmt = {} - for index, assignblk in enumerate(irb.assignblks): + for index, assignblk in enumerate(irb): if set(assignblk) == set([self.ir_arch.IRDst, self.ir_arch.pc]): # Don't display on jxx continue diff --git a/example/ida/depgraph.py b/example/ida/depgraph.py index aee0697e..a946706c 100644 --- a/example/ida/depgraph.py +++ b/example/ida/depgraph.py @@ -34,7 +34,7 @@ class depGraphSettingsForm(ida_kernwin.Form): cur_block = block assert cur_block is not None line_nb = None - for line_nb, assignblk in enumerate(cur_block.assignblks): + for line_nb, assignblk in enumerate(cur_block): if assignblk.instr.offset == self.address: break assert line_nb is not None @@ -229,7 +229,7 @@ def launch_depgraph(): for irb in ir_arch.blocks.values(): irs = [] fix_stack = irb.label.offset is not None and settings.unalias_stack - for assignblk in irb.assignblks: + for assignblk in irb: if fix_stack: stk_high = m2_expr.ExprInt(idc.GetSpd(assignblk.instr.offset), ir_arch.sp.size) fix_dct = {ir_arch.sp: mn.regs.regs_init[ir_arch.sp] + stk_high} diff --git a/example/ida/graph_ir.py b/example/ida/graph_ir.py index ca4ad55c..7e303aac 100644 --- a/example/ida/graph_ir.py +++ b/example/ida/graph_ir.py @@ -40,7 +40,7 @@ def color_irblock(irblock, ir_arch): out = [] lbl = idaapi.COLSTR(str(irblock.label), idaapi.SCOLOR_INSN) out.append(lbl) - for assignblk in irblock.assignblks: + for assignblk in irblock: for dst, src in sorted(assignblk.iteritems()): dst_f = expr2colorstr(ir_arch.arch.regs.all_regs_ids, dst) src_f = expr2colorstr(ir_arch.arch.regs.all_regs_ids, src) @@ -148,7 +148,7 @@ def build_graph(verbose=False, simplify=False): for irb in ir_arch.blocks.itervalues(): irs = [] - for assignblk in irb.assignblks: + for assignblk in irb: new_assignblk = { expr_simp(dst): expr_simp(src) for dst, src in assignblk.iteritems() diff --git a/example/symbol_exec/depgraph.py b/example/symbol_exec/depgraph.py index ae66fbaa..e24f7f9b 100644 --- a/example/symbol_exec/depgraph.py +++ b/example/symbol_exec/depgraph.py @@ -74,14 +74,14 @@ dg = DependencyGraph(ir_arch, implicit=args.implicit, # Build information target_addr = int(args.target_addr, 0) current_block = list(ir_arch.getby_offset(target_addr))[0] -line_nb = 0 -for line_nb, assignblk in enumerate(current_block.assignblks): +assignblk_index = 0 +for assignblk_index, assignblk in enumerate(current_block): if assignblk.instr.offset == target_addr: break # Enumerate solutions json_solutions = [] -for sol_nb, sol in enumerate(dg.get(current_block.label, elements, line_nb, set())): +for sol_nb, sol in enumerate(dg.get(current_block.label, elements, assignblk_index, set())): fname = "sol_%d.dot" % sol_nb with open(fname, "w") as fdesc: fdesc.write(sol.graph.dot()) |