![]() |
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 |