diff options
Diffstat (limited to 'example/expression')
| -rw-r--r-- | example/expression/access_c.py | 10 | ||||
| -rw-r--r-- | example/expression/asm_to_ir.py | 2 | ||||
| -rw-r--r-- | example/expression/constant_propagation.py | 2 | ||||
| -rw-r--r-- | example/expression/export_llvm.py | 6 | ||||
| -rw-r--r-- | example/expression/get_read_write.py | 2 | ||||
| -rw-r--r-- | example/expression/graph_dataflow.py | 2 | ||||
| -rw-r--r-- | example/expression/solve_condition_stp.py | 26 |
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)'] |