miasm
Reverse engineering framework
|
Public Member Functions | |
def | __init__ (self, cpu, vm, *args, **kwargs) |
def | reset_regs (self) |
def | mem_read (self, expr_mem) |
def | mem_write (self, dest, data) |
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 | apply_change (self, dst, src) |
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 | |
cpu | |
vm | |
Public Attributes inherited from miasm.ir.symbexec.SymbolicExecutionEngine | |
expr_to_visitor | |
symbols | |
ir_arch | |
expr_simp | |
Static Public Attributes | |
dictionary | x86_cpuid |
Static Public Attributes inherited from miasm.ir.symbexec.SymbolicExecutionEngine | |
StateEngine = SymbolicState | |
Additional Inherited Members | |
Properties inherited from miasm.ir.symbexec.SymbolicExecutionEngine | |
state = property(get_state, set_state) | |
Symbolic exec instance linked with a jitter
def miasm.jitter.emulatedsymbexec.EmulatedSymbExec.__init__ | ( | self, | |
cpu, | |||
vm, | |||
* | args, | ||
** | kwargs | ||
) |
Instantiate an EmulatedSymbExec, associated to CPU @cpu and bind memory accesses. @cpu: JitCpu instance
def miasm.jitter.emulatedsymbexec.EmulatedSymbExec.enable_emulated_simplifications | ( | self | ) |
Enable simplifications needing a CPU instance on associated ExpressionSimplifier
def miasm.jitter.emulatedsymbexec.EmulatedSymbExec.mem_read | ( | self, | |
expr_mem | |||
) |
Memory read wrapper for symbolic execution @expr_mem: ExprMem
Reimplemented from miasm.ir.symbexec.SymbolicExecutionEngine.
Reimplemented in miasm.analysis.dse.ESETrackModif, and trace.ESETrackMemory.
def miasm.jitter.emulatedsymbexec.EmulatedSymbExec.mem_write | ( | self, | |
dest, | |||
data | |||
) |
Memory read wrapper for symbolic execution @dest: ExprMem instance @data: Expr instance
Reimplemented from miasm.ir.symbexec.SymbolicExecutionEngine.
Reimplemented in miasm.analysis.dse.ESENoVMSideEffects, miasm.analysis.dse.ESETrackModif, and trace.ESETrackMemory.
def miasm.jitter.emulatedsymbexec.EmulatedSymbExec.reset_regs | ( | self | ) |
Set registers value to 0. Ignore register aliases
def miasm.jitter.emulatedsymbexec.EmulatedSymbExec.update_cpu_from_engine | ( | self | ) |
Updates @cpu instance according to new CPU values
def miasm.jitter.emulatedsymbexec.EmulatedSymbExec.update_engine_from_cpu | ( | self | ) |
Updates CPU values according to @cpu instance
miasm.jitter.emulatedsymbexec.EmulatedSymbExec.cpu |
miasm.jitter.emulatedsymbexec.EmulatedSymbExec.vm |
|
static |