miasm
Reverse engineering framework
miasm.expression.expression.ExprId Class Reference
Inheritance diagram for miasm.expression.expression.ExprId:
Collaboration diagram for miasm.expression.expression.ExprId:

Public Member Functions

def __init__ (self, name, size=None)
 
def __reduce__ (self)
 
def __new__ (cls, name, size=None)
 
def __str__ (self)
 
def get_w (self)
 
def copy (self)
 
def depth (self)
 
def graph_recursive (self, graph)
 
def is_id (self, name=None)
 
- Public Member Functions inherited from miasm.expression.expression.Expr
def set_size (self, _)
 
def __init__ (self, size)
 
def get_is_canon (self)
 
def set_is_canon (self, value)
 
def __getitem__ (self, i)
 
def get_size (self)
 
def is_function_call (self)
 
def __repr__ (self)
 
def __hash__ (self)
 
def __eq__ (self, other)
 
def __ne__ (self, other)
 
def __lt__ (self, other)
 
def __add__ (self, other)
 
def __sub__ (self, other)
 
def __div__ (self, other)
 
def __floordiv__ (self, other)
 
def __mod__ (self, other)
 
def __mul__ (self, other)
 
def __lshift__ (self, other)
 
def __rshift__ (self, other)
 
def __xor__ (self, other)
 
def __or__ (self, other)
 
def __and__ (self, other)
 
def __neg__ (self)
 
def __pow__ (self, other)
 
def __invert__ (self)
 
def __deepcopy__ (self, _)
 
def replace_expr (self, dct)
 
def canonize (self)
 
def msb (self)
 
def zeroExtend (self, size)
 
def signExtend (self, size)
 
def graph (self)
 
def set_mask (self, value)
 
def is_int (self, value=None)
 
def is_loc (self, label=None)
 
def is_aff (self)
 
def is_assign (self)
 
def is_cond (self)
 
def is_mem (self)
 
def is_op (self, op=None)
 
def is_slice (self, start=None, stop=None)
 
def is_compose (self)
 
def is_op_segm (self)
 
def is_mem_segm (self)
 
def __contains__ (self, expr)
 
def visit (self, callback)
 
def get_r (self, mem_read=False, cst_read=False)
 
def get_w (self, mem_read=False, cst_read=False)
 

Properties

 name = property(lambda self: self._name)
 
- Properties inherited from miasm.expression.expression.Expr
 size = property(lambda self: self._size)
 
 is_canon = property(get_is_canon, set_is_canon)
 
 mask = property(lambda self: ExprInt(-1, self.size))
 

Additional Inherited Members

- Static Public Member Functions inherited from miasm.expression.expression.Expr
def get_object (expr_cls, args)
 
- Static Public Attributes inherited from miasm.expression.expression.Expr
dictionary args2expr = {}
 
 canon_exprs = set()
 
bool use_singleton = True
 

Detailed Description

An ExprId represent an identifier in Miasm IR.

Some use cases:
 - EAX register
 - 'start' offset
 - variable v1

Constructor & Destructor Documentation

◆ __init__()

def miasm.expression.expression.ExprId.__init__ (   self,
  name,
  size = None 
)
Create an identifier
@name: str, identifier's name
@size: int, identifier's size

Member Function Documentation

◆ __new__()

def miasm.expression.expression.ExprId.__new__ (   cls,
  name,
  size = None 
)
Here is the caller graph for this function:

◆ __reduce__()

def miasm.expression.expression.ExprId.__reduce__ (   self)

◆ __str__()

def miasm.expression.expression.ExprId.__str__ (   self)

Reimplemented from miasm.expression.expression.Expr.

◆ copy()

def miasm.expression.expression.ExprId.copy (   self)

Reimplemented from miasm.expression.expression.Expr.

◆ depth()

def miasm.expression.expression.ExprId.depth (   self)

◆ get_w()

def miasm.expression.expression.ExprId.get_w (   self)

◆ graph_recursive()

def miasm.expression.expression.ExprId.graph_recursive (   self,
  graph 
)
Recursive method used by graph
@graph: miasm.core.graph.DiGraph instance
Update @graph instance to include sons
This is an Abstract method

Reimplemented from miasm.expression.expression.Expr.

◆ is_id()

def miasm.expression.expression.ExprId.is_id (   self,
  name = None 
)

Reimplemented from miasm.expression.expression.Expr.

Property Documentation

◆ name

miasm.expression.expression.ExprId.name = property(lambda self: self._name)
static

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