miasm
Reverse engineering framework
|
Public Member Functions | |
def | emul (self, ir_arch, ctx=None, step=False) |
def | is_satisfiable (self) |
def | constraints (self) |
Public Member Functions inherited from miasm.analysis.depgraph.DependencyResult | |
def | __init__ (self, ircfg, initial_state, state, inputs) |
def | unresolved (self) |
def | relevant_nodes (self) |
def | relevant_loc_keys (self) |
def | has_loop (self) |
def | irblock_slice (self, irb, max_line=None) |
Public Member Functions inherited from miasm.analysis.depgraph.DependencyState | |
def | __init__ (self, loc_key, pending, line_nb=None) |
def | __repr__ (self) |
def | extend (self, loc_key) |
def | get_done_state (self) |
def | as_graph (self) |
def | graph (self) |
def | remove_pendings (self, nodes) |
def | add_pendings (self, future_pending) |
def | link_element (self, element, line_nb) |
def | link_dependencies (self, element, line_nb, dependencies, future_pending) |
Static Public Attributes | |
unsat_expr = ExprAssign(ExprInt(0, 1), ExprInt(1, 1)) | |
Additional Inherited Members | |
Public Attributes inherited from miasm.analysis.depgraph.DependencyResult | |
initial_state | |
history | |
pending | |
line_nb | |
inputs | |
links | |
Public Attributes inherited from miasm.analysis.depgraph.DependencyState | |
loc_key | |
history | |
pending | |
line_nb | |
links | |
Stand for a result of a DependencyGraph with implicit option Provide path constraints using the z3 solver
def miasm.analysis.depgraph.DependencyResultImplicit.constraints | ( | self | ) |
If satisfiable, return a valid solution as a Z3 Model instance
def miasm.analysis.depgraph.DependencyResultImplicit.emul | ( | self, | |
ir_arch, | |||
ctx = None , |
|||
step = False |
|||
) |
Symbolic execution of relevant nodes according to the history Return the values of inputs nodes' elements @ir_arch: IntermediateRepresentation instance @ctx: (optional) Initial context as dictionary @step: (optional) Verbose execution Warning: The emulation is not sound if the inputs nodes depend on loop variant.
Reimplemented from miasm.analysis.depgraph.DependencyResult.
def miasm.analysis.depgraph.DependencyResultImplicit.is_satisfiable | ( | self | ) |
Return True iff the solution path admits at least one solution PRE: 'emul'
|
static |