about summary refs log tree commit diff stats
path: root/example/expression/solve_condition_stp.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2020-12-07 17:28:54 +0100
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2020-12-24 17:15:46 +0100
commite6ec952904419c73531ab62443ade23985317daf (patch)
treecb7063e3958c2b7e65d29cb25bb38a64e6a2f060 /example/expression/solve_condition_stp.py
parentf178c253c4665cb3e495073168dc244782d07c17 (diff)
downloadmiasm-e6ec952904419c73531ab62443ade23985317daf.tar.gz
miasm-e6ec952904419c73531ab62443ade23985317daf.zip
Rename ira => LifterModelCall
Diffstat (limited to 'example/expression/solve_condition_stp.py')
-rw-r--r--example/expression/solve_condition_stp.py26
1 files changed, 13 insertions, 13 deletions
diff --git a/example/expression/solve_condition_stp.py b/example/expression/solve_condition_stp.py
index 3743bfad..634e2337 100644
--- a/example/expression/solve_condition_stp.py
+++ b/example/expression/solve_condition_stp.py
@@ -30,7 +30,7 @@ if not args:
     sys.exit(0)
 
 
-def emul_symb(ir_arch, ircfg, mdis, states_todo, states_done):
+def emul_symb(lifter, ircfg, mdis, states_todo, states_done):
     while states_todo:
         addr, symbols, conds = states_todo.pop()
         print('*' * 40, "addr", addr, '*' * 40)
@@ -38,11 +38,11 @@ def emul_symb(ir_arch, ircfg, mdis, states_todo, states_done):
             print('Known state, skipping', addr)
             continue
         states_done.add((addr, symbols, conds))
-        symbexec = SymbolicExecutionEngine(ir_arch)
+        symbexec = SymbolicExecutionEngine(lifter)
         symbexec.symbols = symbols.copy()
-        if ir_arch.pc in symbexec.symbols:
-            del symbexec.symbols[ir_arch.pc]
-        irblock = get_block(ir_arch, ircfg, mdis, addr)
+        if lifter.pc in symbexec.symbols:
+            del symbexec.symbols[lifter.pc]
+        irblock = get_block(lifter, ircfg, mdis, addr)
 
         print('Run block:')
         print(irblock)
@@ -87,9 +87,9 @@ if __name__ == '__main__':
 
     cont = Container.from_stream(open(args[0], 'rb'), loc_db)
     mdis = machine.dis_engine(cont.bin_stream, loc_db=loc_db)
-    ir_arch = machine.ir(mdis.loc_db)
-    ircfg = ir_arch.new_ircfg()
-    symbexec = SymbolicExecutionEngine(ir_arch)
+    lifter = machine.lifter(mdis.loc_db)
+    ircfg = lifter.new_ircfg()
+    symbexec = SymbolicExecutionEngine(lifter)
 
     asmcfg = parse_asm.parse_txt(
         machine.mn, 32, '''
@@ -129,19 +129,19 @@ if __name__ == '__main__':
     print(block)
 
     # add fake address and len to parsed instructions
-    ir_arch.add_asmblock_to_ircfg(block, ircfg)
+    lifter.add_asmblock_to_ircfg(block, ircfg)
     irb = ircfg.blocks[init_lbl]
     symbexec.eval_updt_irblock(irb)
     symbexec.dump(ids=False)
-    # reset ir_arch blocks
-    ir_arch.blocks = {}
+    # reset lifter blocks
+    lifter.blocks = {}
 
     states_todo = set()
     states_done = set()
     states_todo.add((addr, symbexec.symbols, ()))
 
     # emul blocks, propagate states
-    emul_symb(ir_arch, ircfg, mdis, states_todo, states_done)
+    emul_symb(lifter, ircfg, mdis, states_todo, states_done)
 
     all_info = []
 
@@ -156,7 +156,7 @@ if __name__ == '__main__':
 
     all_cases = set()
 
-    symbexec = SymbolicExecutionEngine(ir_arch)
+    symbexec = SymbolicExecutionEngine(lifter)
     for addr, reqs_cond in all_info:
         out = ['(set-logic QF_ABV)',
                '(set-info :smt-lib-version 2.0)']