diff options
| author | Camille Mougey <commial@gmail.com> | 2018-03-15 15:35:31 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-03-15 15:35:31 +0100 |
| commit | 50a0b480a729507c8e49af39588592fbfb5476b1 (patch) | |
| tree | 5d5248ceb9358a1f497f4830e821e50afb340dba /example/symbol_exec/single_instr.py | |
| parent | edabfcda0fa8c0dd8ab3017853b375b1ee24b754 (diff) | |
| parent | 1b534d9ad543473f12ddcb631e0cddb0cbd54ff4 (diff) | |
| download | miasm-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.py | 15 |
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 |