about summary refs log tree commit diff stats
path: root/example/symbol_exec/single_instr.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/symbol_exec/single_instr.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/symbol_exec/single_instr.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/example/symbol_exec/single_instr.py b/example/symbol_exec/single_instr.py
index d65702ba..e5637ad8 100644
--- a/example/symbol_exec/single_instr.py
+++ b/example/symbol_exec/single_instr.py
@@ -22,22 +22,19 @@ ira = machine.ira(mdis.symbol_pool)
 ira.add_block(asm_block)
 
 # Instanciate a Symbolic Execution engine with default value for registers
-## EAX = EAX_init, ...
-symbols_init = ira.arch.regs.regs_init
-symb = SymbolicExecutionEngine(ira, symbols_init)
+symb = SymbolicExecutionEngine(ira, {})
 
 # Emulate one IR basic block
 ## Emulation of several basic blocks can be done through .emul_ir_blocks
-cur_addr = symb.emul_ir_block(START_ADDR)
+cur_addr = symb.run_at(START_ADDR)
 
 # Modified elements
 print 'Modified registers:'
-symb.dump_id()
+symb.dump(mems=False)
 print 'Modified memory (should be empty):'
-symb.dump_mem()
+symb.dump(ids=False)
 
 # Check final status
 eax, ebx = ira.arch.regs.EAX, ira.arch.regs.EBX
-final_state = symb.as_assignblock()
-assert final_state[eax] == symbols_init[ebx]
-assert eax in final_state
+assert symb.symbols[eax] == ebx
+assert eax in symb.symbols