about summary refs log tree commit diff stats
path: root/example/ida/symbol_exec.py
diff options
context:
space:
mode:
authorCamille Mougey <commial@gmail.com>2019-03-07 14:37:07 +0100
committerGitHub <noreply@github.com>2019-03-07 14:37:07 +0100
commit4c2320b46250a8d6f8774e1218544b72a154cd8e (patch)
treeb67e7b072439f84109bd39dad8ed7f3f135224f8 /example/ida/symbol_exec.py
parenteab809932871f91d6f4aa770fc321af9e156e0f5 (diff)
parent26c1075723a02984da6d3bc7423c5c0c43082dc3 (diff)
downloadmiasm-4c2320b46250a8d6f8774e1218544b72a154cd8e.tar.gz
miasm-4c2320b46250a8d6f8774e1218544b72a154cd8e.zip
Merge pull request #990 from serpilliere/support_python2_python3
Support python2 python3
Diffstat (limited to 'example/ida/symbol_exec.py')
-rw-r--r--example/ida/symbol_exec.py31
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
-    """
+    """)