about summary refs log tree commit diff stats
path: root/example/expression
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
parentf178c253c4665cb3e495073168dc244782d07c17 (diff)
downloadmiasm-e6ec952904419c73531ab62443ade23985317daf.tar.gz
miasm-e6ec952904419c73531ab62443ade23985317daf.zip
Rename ira => LifterModelCall
Diffstat (limited to 'example/expression')
-rw-r--r--example/expression/access_c.py10
-rw-r--r--example/expression/asm_to_ir.py2
-rw-r--r--example/expression/constant_propagation.py2
-rw-r--r--example/expression/export_llvm.py6
-rw-r--r--example/expression/get_read_write.py2
-rw-r--r--example/expression/graph_dataflow.py2
-rw-r--r--example/expression/solve_condition_stp.py26
7 files changed, 25 insertions, 25 deletions
diff --git a/example/expression/access_c.py b/example/expression/access_c.py
index 3cc8e6a2..fd50a917 100644
--- a/example/expression/access_c.py
+++ b/example/expression/access_c.py
@@ -95,10 +95,10 @@ class MyExprToAccessC(ExprToAccessC):
     reduction_rules = ExprToAccessC.reduction_rules + [reduce_compose]
 
 
-def get_funcs_arg0(ctx, ira, ircfg, lbl_head):
+def get_funcs_arg0(ctx, lifter_model_call, ircfg, lbl_head):
     """Compute DependencyGraph on the func @lbl_head"""
     g_dep = DependencyGraph(ircfg, follow_call=False)
-    element = ira.arch.regs.RSI
+    element = lifter_model_call.arch.regs.RSI
 
     for loc_key, index in find_call(ircfg):
         irb = ircfg.get_block(loc_key)
@@ -106,7 +106,7 @@ def get_funcs_arg0(ctx, ira, ircfg, lbl_head):
         print('Analysing references from:', hex(instr.offset), instr)
         g_list = g_dep.get(irb.loc_key, set([element]), index, set([lbl_head]))
         for dep in g_list:
-            emul_result = dep.emul(ira, ctx)
+            emul_result = dep.emul(lifter_model_call, ctx)
             value = emul_result[element]
             yield value
 
@@ -144,14 +144,14 @@ types_mngr = CTypesManagerNotPacked(types_ast, base_types)
 cont = Container.fallback_container(data, None, addr=0)
 
 machine = Machine("x86_64")
-dis_engine, ira = machine.dis_engine, machine.ira
+dis_engine, lifter_model_call = machine.dis_engine, machine.lifter_model_call
 
 mdis = dis_engine(cont.bin_stream, loc_db=loc_db)
 addr_head = 0
 asmcfg = mdis.dis_multiblock(addr_head)
 lbl_head = loc_db.get_offset_location(addr_head)
 
-ir_arch_a = ira(loc_db)
+ir_arch_a = lifter_model_call(loc_db)
 ircfg = ir_arch_a.new_ircfg_from_asmcfg(asmcfg)
 
 open('graph_irflow.dot', 'w').write(ircfg.dot())
diff --git a/example/expression/asm_to_ir.py b/example/expression/asm_to_ir.py
index 8ecc4f24..32d4ae8b 100644
--- a/example/expression/asm_to_ir.py
+++ b/example/expression/asm_to_ir.py
@@ -7,7 +7,7 @@ from miasm.arch.x86.arch import mn_x86
 from miasm.core import parse_asm
 from miasm.expression.expression import *
 from miasm.core import asmblock
-from miasm.arch.x86.ira import ir_a_x86_32
+from miasm.arch.x86.lifter_model_call import ir_a_x86_32
 from miasm.analysis.data_flow import DeadRemoval
 from miasm.core.locationdb import LocationDB
 
diff --git a/example/expression/constant_propagation.py b/example/expression/constant_propagation.py
index a5929eed..0ea8028c 100644
--- a/example/expression/constant_propagation.py
+++ b/example/expression/constant_propagation.py
@@ -30,7 +30,7 @@ machine = Machine("x86_32")
 loc_db = LocationDB()
 cont = Container.from_stream(open(args.filename, 'rb'), loc_db)
 mdis = machine.dis_engine(cont.bin_stream, loc_db=loc_db)
-ir_arch = machine.ira(mdis.loc_db)
+ir_arch = machine.lifter_model_call(mdis.loc_db)
 addr = int(args.address, 0)
 deadrm = DeadRemoval(ir_arch)
 
diff --git a/example/expression/export_llvm.py b/example/expression/export_llvm.py
index a4c65787..74587ffd 100644
--- a/example/expression/export_llvm.py
+++ b/example/expression/export_llvm.py
@@ -17,16 +17,16 @@ loc_db = LocationDB()
 # This part focus on obtaining an IRCFG to transform #
 cont = Container.from_stream(open(args.target, 'rb'), loc_db)
 machine = Machine(args.architecture if args.architecture else cont.arch)
-ir = machine.ir(loc_db)
+lifter = machine.lifter(loc_db)
 dis = machine.dis_engine(cont.bin_stream, loc_db=loc_db)
 asmcfg = dis.dis_multiblock(int(args.addr, 0))
-ircfg = ir.new_ircfg_from_asmcfg(asmcfg)
+ircfg = lifter.new_ircfg_from_asmcfg(asmcfg)
 ircfg.simplify(expr_simp_high_to_explicit)
 ######################################################
 
 # Instantiate a context and the function to fill
 context = LLVMContext_IRCompilation()
-context.ir_arch = ir
+context.lifter = lifter
 
 func = LLVMFunction_IRCompilation(context, name="test")
 func.ret_type = llvm_ir.VoidType()
diff --git a/example/expression/get_read_write.py b/example/expression/get_read_write.py
index cf333d0c..d6bb37c2 100644
--- a/example/expression/get_read_write.py
+++ b/example/expression/get_read_write.py
@@ -4,7 +4,7 @@ from future.utils import viewitems
 
 from miasm.arch.x86.arch import mn_x86
 from miasm.expression.expression import get_rw
-from miasm.arch.x86.ira import ir_a_x86_32
+from miasm.arch.x86.lifter_model_call import ir_a_x86_32
 from miasm.core.locationdb import LocationDB
 
 loc_db = LocationDB()
diff --git a/example/expression/graph_dataflow.py b/example/expression/graph_dataflow.py
index 4b428df7..661d0037 100644
--- a/example/expression/graph_dataflow.py
+++ b/example/expression/graph_dataflow.py
@@ -139,7 +139,7 @@ print('ok')
 
 
 print('generating dataflow graph for:')
-ir_arch_analysis = machine.ira(loc_db)
+ir_arch_analysis = machine.lifter_model_call(loc_db)
 ircfg = ir_arch_analysis.new_ircfg_from_asmcfg(asmcfg)
 deadrm = DeadRemoval(ir_arch_analysis)
 
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)']