miasm
Reverse engineering framework
|
Public Member Functions | |
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) |
def | emul (self, ir_arch, ctx=None, step=False) |
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) |
Public Attributes | |
initial_state | |
history | |
pending | |
line_nb | |
inputs | |
links | |
Public Attributes inherited from miasm.analysis.depgraph.DependencyState | |
loc_key | |
history | |
pending | |
line_nb | |
links | |
Container and methods for DependencyGraph results
def miasm.analysis.depgraph.DependencyResult.__init__ | ( | self, | |
ircfg, | |||
initial_state, | |||
state, | |||
inputs | |||
) |
def miasm.analysis.depgraph.DependencyResult.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 in miasm.analysis.depgraph.DependencyResultImplicit.
def miasm.analysis.depgraph.DependencyResult.has_loop | ( | self | ) |
True iff there is at least one data dependencies cycle (regarding the associated depgraph)
def miasm.analysis.depgraph.DependencyResult.irblock_slice | ( | self, | |
irb, | |||
max_line = None |
|||
) |
Slice of the dependency nodes on the irblock @irb @irb: irbloc instance
def miasm.analysis.depgraph.DependencyResult.relevant_loc_keys | ( | self | ) |
List of loc_keys containing nodes influencing inputs. The history order is preserved.
def miasm.analysis.depgraph.DependencyResult.relevant_nodes | ( | self | ) |
Set of nodes directly and indirectly influencing inputs
def miasm.analysis.depgraph.DependencyResult.unresolved | ( | self | ) |
Set of nodes whose dependencies weren't found
miasm.analysis.depgraph.DependencyResult.history |
miasm.analysis.depgraph.DependencyResult.initial_state |
miasm.analysis.depgraph.DependencyResult.inputs |
miasm.analysis.depgraph.DependencyResult.line_nb |
miasm.analysis.depgraph.DependencyResult.links |
miasm.analysis.depgraph.DependencyResult.pending |