![]() |
miasm
Reverse engineering framework
|
Functions | |
| def | emul_symb (ir_arch, ircfg, mdis, states_todo, states_done) |
Variables | |
| machine = Machine("x86_32") | |
| parser = OptionParser(usage="usage: %prog [options] file") | |
| dest | |
| metavar | |
| help | |
| default | |
| options | |
| args | |
| loc_db = LocationDB() | |
| translator_smt2 = Translator.to_language("smt2") | |
| addr = int(options.address, 16) | |
| 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) | |
| asmcfg | |
| argc_lbl = loc_db.get_name_location('argc') | |
| argv_lbl = loc_db.get_name_location('argv') | |
| ret_addr_lbl = loc_db.get_name_location('ret_addr') | |
| init_lbl = loc_db.get_name_location('init') | |
| argc_loc = ExprLoc(argc_lbl, 32) | |
| argv_loc = ExprLoc(argv_lbl, 32) | |
| ret_addr_loc = ExprLoc(ret_addr_lbl, 32) | |
| ret_addr = ExprId("ret_addr", ret_addr_loc.size) | |
| dictionary | fix_args |
| block = asmcfg.loc_key_to_block(init_lbl) | |
| irb = ircfg.blocks[init_lbl] | |
| ids | |
| blocks | |
| states_todo = set() | |
| states_done = set() | |
| list | all_info = [] |
| key | |
| list | reqs = [] |
| all_cases = set() | |
| list | out |
| list | conditions = [] |
| all_ids = set() | |
| expr_test | |
| cond = translator_smt2.from_expr(ExprAssign(expr_test, value)) | |
| cases | |
| def solve_condition_stp.emul_symb | ( | ir_arch, | |
| ircfg, | |||
| mdis, | |||
| states_todo, | |||
| states_done | |||
| ) |

| solve_condition_stp.addr = int(options.address, 16) |
| solve_condition_stp.all_cases = set() |
| solve_condition_stp.all_ids = set() |
| list solve_condition_stp.all_info = [] |
| solve_condition_stp.argc_lbl = loc_db.get_name_location('argc') |
| solve_condition_stp.args |
| solve_condition_stp.argv_lbl = loc_db.get_name_location('argv') |
| solve_condition_stp.block = asmcfg.loc_key_to_block(init_lbl) |
| solve_condition_stp.blocks |
| solve_condition_stp.cases |
| solve_condition_stp.cond = translator_smt2.from_expr(ExprAssign(expr_test, value)) |
| list solve_condition_stp.conditions = [] |
| solve_condition_stp.cont = Container.from_stream(open(args[0], 'rb'), loc_db) |
| solve_condition_stp.default |
| solve_condition_stp.dest |
| solve_condition_stp.expr_test |
| dictionary solve_condition_stp.fix_args |
| solve_condition_stp.help |
| solve_condition_stp.ids |
| solve_condition_stp.init_lbl = loc_db.get_name_location('init') |
| solve_condition_stp.ir_arch = machine.ir(mdis.loc_db) |
| solve_condition_stp.irb = ircfg.blocks[init_lbl] |
| solve_condition_stp.ircfg = ir_arch.new_ircfg() |
| solve_condition_stp.key |
| solve_condition_stp.loc_db = LocationDB() |
| solve_condition_stp.machine = Machine("x86_32") |
| solve_condition_stp.metavar |
| solve_condition_stp.options |
| list solve_condition_stp.out |
| solve_condition_stp.parser = OptionParser(usage="usage: %prog [options] file") |
| list solve_condition_stp.reqs = [] |
| solve_condition_stp.ret_addr = ExprId("ret_addr", ret_addr_loc.size) |
| solve_condition_stp.ret_addr_lbl = loc_db.get_name_location('ret_addr') |
| solve_condition_stp.ret_addr_loc = ExprLoc(ret_addr_lbl, 32) |
| solve_condition_stp.states_done = set() |
| solve_condition_stp.states_todo = set() |
| solve_condition_stp.symbexec = SymbolicExecutionEngine(ir_arch) |
| solve_condition_stp.translator_smt2 = Translator.to_language("smt2") |