diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2017-10-03 17:20:38 +0200 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2018-03-15 14:46:36 +0100 |
| commit | 1b534d9ad543473f12ddcb631e0cddb0cbd54ff4 (patch) | |
| tree | 5d5248ceb9358a1f497f4830e821e50afb340dba /example/ida/symbol_exec.py | |
| parent | edabfcda0fa8c0dd8ab3017853b375b1ee24b754 (diff) | |
| download | miasm-1b534d9ad543473f12ddcb631e0cddb0cbd54ff4.tar.gz miasm-1b534d9ad543473f12ddcb631e0cddb0cbd54ff4.zip | |
Symbexec: use hashtable for mem symbols
Diffstat (limited to 'example/ida/symbol_exec.py')
| -rw-r--r-- | example/ida/symbol_exec.py | 14 |
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) |