miasm
Reverse engineering framework
All Classes Namespaces Files Functions Variables Typedefs Enumerator Properties Macros Pages
miasm.analysis.ssa Namespace Reference

Classes

class  SSA
 
class  SSABlock
 
class  SSADiGraph
 
class  SSAPath
 
class  Varinfo
 

Functions

def sanitize_graph_head (ircfg, head)
 
def irblock_has_phi (irblock)
 
def get_var_assignment_src (ircfg, node, variables)
 
def get_phi_sources_parent_block (ircfg, loc_key, sources)
 

Function Documentation

◆ get_phi_sources_parent_block()

def miasm.analysis.ssa.get_phi_sources_parent_block (   ircfg,
  loc_key,
  sources 
)
Return a dictionary linking a variable to it's direct parent label
which belong to a path which affects the node.
@loc_key: the starting node
@sources: set of variables to resolve
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_var_assignment_src()

def miasm.analysis.ssa.get_var_assignment_src (   ircfg,
  node,
  variables 
)
Return the variable of @variables which is written by the irblock at @node
@node: Location
@variables: a set of variable to test
Here is the caller graph for this function:

◆ irblock_has_phi()

def miasm.analysis.ssa.irblock_has_phi (   irblock)
Return True if @irblock has Phi assignments
@irblock: IRBlock instance
Here is the caller graph for this function:

◆ sanitize_graph_head()

def miasm.analysis.ssa.sanitize_graph_head (   ircfg,
  head 
)
In multiple algorithm, the @head of the ircfg may not have predecessors.
The function transform the @ircfg in order to ensure this property
@ircfg: IRCFG instance
@head: the location of the graph's head
Here is the caller graph for this function: