From 1b534d9ad543473f12ddcb631e0cddb0cbd54ff4 Mon Sep 17 00:00:00 2001 From: Fabrice Desclaux Date: Tue, 3 Oct 2017 17:20:38 +0200 Subject: Symbexec: use hashtable for mem symbols --- example/ida/symbol_exec.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'example/ida/symbol_exec.py') 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) -- cgit 1.4.1