miasm
Reverse engineering framework
|
Classes | |
class | SymbExecState |
class | SymbExecStateFix |
Functions | |
def | add_state (ircfg, todo, states, addr, state) |
def | is_expr_cst (ir_arch, expr) |
def | compute_cst_propagation_states (ir_arch, ircfg, init_addr, init_infos) |
def | propagate_cst_expr (ir_arch, ircfg, addr, init_infos) |
Variables | |
LOG_CST_PROPAG = logging.getLogger("cst_propag") | |
CONSOLE_HANDLER = logging.StreamHandler() | |
def miasm.analysis.cst_propag.add_state | ( | ircfg, | |
todo, | |||
states, | |||
addr, | |||
state | |||
) |
Add or merge the computed @state for the block at @addr. Update @todo @todo: modified block set @states: dictionary linking a label to its entering state. @addr: address of the considered block @state: computed state
def miasm.analysis.cst_propag.compute_cst_propagation_states | ( | ir_arch, | |
ircfg, | |||
init_addr, | |||
init_infos | |||
) |
Propagate "constant expressions" in a function. The attribute "constant expression" is true if the expression is based on constants or "init" regs values. @ir_arch: IntermediateRepresentation instance @init_addr: analysis start address @init_infos: dictionary linking expressions to their values at @init_addr
def miasm.analysis.cst_propag.is_expr_cst | ( | ir_arch, | |
expr | |||
) |
Return true if @expr is only composed of ExprInt and init_regs @ir_arch: IR instance @expr: Expression to test
def miasm.analysis.cst_propag.propagate_cst_expr | ( | ir_arch, | |
ircfg, | |||
addr, | |||
init_infos | |||
) |
Propagate "constant expressions" in a @ir_arch. The attribute "constant expression" is true if the expression is based on constants or "init" regs values. @ir_arch: IntermediateRepresentation instance @addr: analysis start address @init_infos: dictionary linking expressions to their values at @init_addr Returns a mapping between replaced Expression and their new values.
miasm.analysis.cst_propag.CONSOLE_HANDLER = logging.StreamHandler() |
miasm.analysis.cst_propag.LOG_CST_PROPAG = logging.getLogger("cst_propag") |