diff options
Diffstat (limited to 'example/expression/expr_translate.py')
| -rw-r--r-- | example/expression/expr_translate.py | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/example/expression/expr_translate.py b/example/expression/expr_translate.py index e1505dae..8562975f 100644 --- a/example/expression/expr_translate.py +++ b/example/expression/expr_translate.py @@ -1,8 +1,11 @@ +from __future__ import print_function import random -from miasm2.expression.expression import * -from miasm2.expression.expression_helper import ExprRandom -from miasm2.ir.translators import Translator +from future.utils import viewitems + +from miasm.expression.expression import * +from miasm.expression.expression_helper import ExprRandom +from miasm.ir.translators import Translator random.seed(0) @@ -13,32 +16,32 @@ class ExprRandom_OpSubRange(ExprRandom): } -print "[+] Compute a random expression:" +print("[+] Compute a random expression:") expr = ExprRandom_OpSubRange.get(depth=8) -print "-> %s" % expr -print +print("-> %s" % expr) +print() target_exprs = {lang:Translator.to_language(lang).from_expr(expr) for lang in Translator.available_languages()} -for target_lang, target_expr in target_exprs.iteritems(): - print "[+] Translate in %s:" % target_lang - print target_expr - print +for target_lang, target_expr in viewitems(target_exprs): + print("[+] Translate in %s:" % target_lang) + print(target_expr) + print() -print "[+] Eval in Python:" +print("[+] Eval in Python:") def memory(addr, size): ret = random.randint(0, (1 << size) - 1) - print "Memory access: @0x%x -> 0x%x" % (addr, ret) + print("Memory access: @0x%x -> 0x%x" % (addr, ret)) return ret for expr_id in expr.get_r(mem_read=True): if isinstance(expr_id, ExprId): value = random.randint(0, (1 << expr_id.size) - 1) - print "Declare var: %s = 0x%x" % (expr_id.name, value) + print("Declare var: %s = 0x%x" % (expr_id.name, value)) globals()[expr_id.name] = value -print "-> 0x%x" % eval(target_exprs["Python"]) +print("-> 0x%x" % eval(target_exprs["Python"])) -print "[+] Validate the Miasm syntax rebuilding" +print("[+] Validate the Miasm syntax rebuilding") exprRebuild = eval(target_exprs["Miasm"]) assert(expr == exprRebuild) |