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>2018-03-15 15:35:31 +0100
committerGitHub <noreply@github.com>2018-03-15 15:35:31 +0100
commit50a0b480a729507c8e49af39588592fbfb5476b1 (patch)
tree5d5248ceb9358a1f497f4830e821e50afb340dba /example/ida/symbol_exec.py
parentedabfcda0fa8c0dd8ab3017853b375b1ee24b754 (diff)
parent1b534d9ad543473f12ddcb631e0cddb0cbd54ff4 (diff)
downloadmiasm-50a0b480a729507c8e49af39588592fbfb5476b1.tar.gz
miasm-50a0b480a729507c8e49af39588592fbfb5476b1.zip
Merge pull request #699 from serpilliere/symb_mem_hash
Symbexec: use hashtable for mem symbols
Diffstat (limited to '')
-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)