diff options
Diffstat (limited to 'example/ida/symbol_exec.py')
| -rw-r--r-- | example/ida/symbol_exec.py | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/example/ida/symbol_exec.py b/example/ida/symbol_exec.py index e004b1b6..c0ed89f3 100644 --- a/example/ida/symbol_exec.py +++ b/example/ida/symbol_exec.py @@ -1,9 +1,14 @@ +from __future__ import print_function import operator +from future.utils import viewitems + import idaapi import idc -from miasm2.expression.expression_helper import Variables_Identifier -from miasm2.expression.expression import ExprAssign + + +from miasm.expression.expression_helper import Variables_Identifier +from miasm.expression.expression import ExprAssign from utils import expr2colorstr, translatorForm @@ -49,10 +54,12 @@ class symbolicexec_t(idaapi.simplecustviewer_t): element = self.line2eq[linenum] expanded = Variables_Identifier(element[1], var_prefix="%s_v" % element[0]) - self.line2eq = self.line2eq[0:linenum] + \ - expanded.vars.items() + \ - [(element[0], expanded.equation)] + \ + self.line2eq = ( + self.line2eq[0:linenum] + + list(viewitems(expanded.vars)) + + [(element[0], expanded.equation)] + self.line2eq[linenum + 1:] + ) def print_lines(self): self.ClearLines() @@ -75,7 +82,7 @@ class symbolicexec_t(idaapi.simplecustviewer_t): self.machine = machine self.loc_db = loc_db - self.line2eq = sorted(equations.items(), key=operator.itemgetter(0)) + self.line2eq = sorted(viewitems(equations), key=operator.itemgetter(0)) self.lines_expanded = set() self.print_lines() @@ -123,8 +130,8 @@ class Hooks(idaapi.UI_Hooks): def symbolic_exec(): - from miasm2.ir.symbexec import SymbolicExecutionEngine - from miasm2.core.bin_stream_ida import bin_stream_ida + from miasm.ir.symbexec import SymbolicExecutionEngine + from miasm.core.bin_stream_ida import bin_stream_ida from utils import guess_machine @@ -144,7 +151,7 @@ def symbolic_exec(): ira = machine.ira(loc_db=mdis.loc_db) ircfg = ira.new_ircfg_from_asmcfg(asmcfg) - print "Run symbolic execution..." + print("Run symbolic execution...") sb = SymbolicExecutionEngine(ira, machine.mn.regs.regs_init) sb.run_at(ircfg, start) modified = {} @@ -192,7 +199,7 @@ if __name__ == '__main__': idaapi.CompileLine('static key_F3() { RunPythonStatement("symbolic_exec()"); }') idc.AddHotkey("F3", "key_F3") - print "=" * 50 - print """Available commands: + print("=" * 50) + print("""Available commands: symbolic_exec() - F3: Symbolic execution of current selection - """ + """) |