about summary refs log tree commit diff stats
path: root/example/ida/symbol_exec.py
diff options
context:
space:
mode:
Diffstat (limited to 'example/ida/symbol_exec.py')
-rw-r--r--example/ida/symbol_exec.py14
1 files changed, 3 insertions, 11 deletions
diff --git a/example/ida/symbol_exec.py b/example/ida/symbol_exec.py
index b65b97a1..f019f77d 100644
--- a/example/ida/symbol_exec.py
+++ b/example/ida/symbol_exec.py
@@ -133,19 +133,11 @@ def symbolic_exec():
 
     print "Run symbolic execution..."
     sb = SymbolicExecutionEngine(ira, machine.mn.regs.regs_init)
-    sb.emul_ir_blocks(start)
-
+    sb.run_at(start)
     modified = {}
-    for ident in sb.symbols.symbols_id:
-        if ident in sb.ir_arch.arch.regs.regs_init and \
-                ident in sb.symbols.symbols_id and \
-                sb.symbols.symbols_id[ident] == sb.ir_arch.arch.regs.regs_init[ident]:
-            continue
-        modified[ident] = sb.symbols.symbols_id[ident]
-
-    for ident in sb.symbols.symbols_mem:
-        modified[sb.symbols.symbols_mem[ident][0]] = sb.symbols.symbols_mem[ident][1]
 
+    for dst, src in sb.modified(init_state=machine.mn.regs.regs_init):
+        modified[dst] = src
 
     view = symbolicexec_t()
     all_views.append(view)