miasm
Reverse engineering framework
miasm.analysis.cst_propag.SymbExecStateFix Class Reference
Inheritance diagram for miasm.analysis.cst_propag.SymbExecStateFix:
Collaboration diagram for miasm.analysis.cst_propag.SymbExecStateFix:

Public Member Functions

def __init__ (self, ir_arch, ircfg, state, cst_propag_link)
 
def propag_expr_cst (self, expr)
 
def eval_updt_irblock (self, irb, step=False)
 
- 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 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)
 
def mem_read (self, expr)
 
def mem_write (self, dst, src)
 

Public Attributes

 ircfg
 
 cst_propag_link
 
- Public Attributes inherited from miasm.ir.symbexec.SymbolicExecutionEngine
 expr_to_visitor
 
 symbols
 
 ir_arch
 
 expr_simp
 

Static Public Attributes

 is_expr_cst = lambda _, ir_arch, expr: is_expr_cst(ir_arch, expr)
 
- 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)
 

Detailed Description

Emul blocks and replace expressions with their corresponding constant if
any.

Constructor & Destructor Documentation

◆ __init__()

def miasm.analysis.cst_propag.SymbExecStateFix.__init__ (   self,
  ir_arch,
  ircfg,
  state,
  cst_propag_link 
)

Member Function Documentation

◆ eval_updt_irblock()

def miasm.analysis.cst_propag.SymbExecStateFix.eval_updt_irblock (   self,
  irb,
  step = False 
)
Symbolic execution of the @irb on the current state
@irb: IRBlock instance
@step: display intermediate steps

Reimplemented from miasm.ir.symbexec.SymbolicExecutionEngine.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ propag_expr_cst()

def miasm.analysis.cst_propag.SymbExecStateFix.propag_expr_cst (   self,
  expr 
)
Propagate constant expressions in @expr
@expr: Expression to update
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ cst_propag_link

miasm.analysis.cst_propag.SymbExecStateFix.cst_propag_link

◆ ircfg

miasm.analysis.cst_propag.SymbExecStateFix.ircfg

◆ is_expr_cst

miasm.analysis.cst_propag.SymbExecStateFix.is_expr_cst = lambda _, ir_arch, expr: is_expr_cst(ir_arch, expr)
static

The documentation for this class was generated from the following file: