miasm
Reverse engineering framework
|
Public Member Functions | |
def | __init__ (self, *args, **kwargs) |
def | mem_read (self, expr_mem) |
def | mem_write (self, expr, data) |
def | reset_modified (self) |
def | apply_change (self, dst, src) |
Public Member Functions inherited from miasm.jitter.emulatedsymbexec.EmulatedSymbExec | |
def | __init__ (self, cpu, vm, *args, **kwargs) |
def | reset_regs (self) |
def | update_cpu_from_engine (self) |
def | update_engine_from_cpu (self) |
def | enable_emulated_simplifications (self) |
Public Member Functions inherited from miasm.ir.symbexec.SymbolicExecutionEngine | |
def | __init__ (self, ir_arch, state=None, sb_expr_simp=expr_simp_explicit) |
def | get_state (self) |
def | set_state (self, state) |
def | eval_expr_visitor (self, expr, cache=None) |
def | eval_exprint (self, expr, **kwargs) |
def | eval_exprid (self, expr, **kwargs) |
def | eval_exprloc (self, expr, **kwargs) |
def | eval_exprmem (self, expr, **kwargs) |
def | eval_exprcond (self, expr, **kwargs) |
def | eval_exprslice (self, expr, **kwargs) |
def | eval_exprop (self, expr, **kwargs) |
def | eval_exprcompose (self, expr, **kwargs) |
def | eval_expr (self, expr, eval_cache=None) |
def | modified (self, init_state=None, ids=True, mems=True) |
def | dump (self, ids=True, mems=True) |
def | eval_assignblk (self, assignblk) |
def | eval_updt_assignblk (self, assignblk) |
def | eval_updt_irblock (self, irb, step=False) |
def | run_block_at (self, ircfg, addr, step=False) |
def | run_at (self, ircfg, addr, lbl_stop=None, step=False) |
def | del_mem_above_stack (self, stack_ptr) |
def | eval_updt_expr (self, expr) |
Public Attributes | |
modified_expr | |
dse_memory_range | |
dse_memory_to_expr | |
Public Attributes inherited from miasm.jitter.emulatedsymbexec.EmulatedSymbExec | |
cpu | |
vm | |
Public Attributes inherited from miasm.ir.symbexec.SymbolicExecutionEngine | |
expr_to_visitor | |
symbols | |
ir_arch | |
expr_simp | |
Additional Inherited Members | |
Static Public Attributes inherited from miasm.jitter.emulatedsymbexec.EmulatedSymbExec | |
dictionary | x86_cpuid |
Static Public Attributes inherited from miasm.ir.symbexec.SymbolicExecutionEngine | |
StateEngine = SymbolicState | |
Properties inherited from miasm.ir.symbexec.SymbolicExecutionEngine | |
state = property(get_state, set_state) | |
Extension of EmulatedSymbExec to be used by DSE engines Add the tracking of modified expressions, and the ability to symbolize memory areas
def miasm.analysis.dse.ESETrackModif.__init__ | ( | self, | |
* | args, | ||
** | kwargs | ||
) |
def miasm.analysis.dse.ESETrackModif.apply_change | ( | self, | |
dst, | |||
src | |||
) |
Apply @dst = @src on the current state WITHOUT evaluating both side @dst: Expr, destination @src: Expr, source
Reimplemented from miasm.ir.symbexec.SymbolicExecutionEngine.
def miasm.analysis.dse.ESETrackModif.mem_read | ( | self, | |
expr_mem | |||
) |
Memory read wrapper for symbolic execution @expr_mem: ExprMem
Reimplemented from miasm.jitter.emulatedsymbexec.EmulatedSymbExec.
def miasm.analysis.dse.ESETrackModif.mem_write | ( | self, | |
dest, | |||
data | |||
) |
Memory read wrapper for symbolic execution @dest: ExprMem instance @data: Expr instance
Reimplemented from miasm.jitter.emulatedsymbexec.EmulatedSymbExec.
def miasm.analysis.dse.ESETrackModif.reset_modified | ( | self | ) |
Reset modified expression tracker
miasm.analysis.dse.ESETrackModif.dse_memory_range |
miasm.analysis.dse.ESETrackModif.dse_memory_to_expr |
miasm.analysis.dse.ESETrackModif.modified_expr |