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

Public Member Functions

def __init__ (self, ptr, size=None)
 
def get_arg (self)
 
def set_arg (self, value)
 
def __reduce__ (self)
 
def __new__ (cls, ptr, size=None)
 
def __str__ (self)
 
def get_w (self)
 
def copy (self)
 
def is_mem_segm (self)
 
def depth (self)
 
def graph_recursive (self, graph)
 
def is_mem (self)
 
- 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_id (self, name=None)
 
def is_loc (self, label=None)
 
def is_aff (self)
 
def is_assign (self)
 
def is_cond (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 __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

 ptr = property(lambda self: self._ptr)
 
 arg = property(get_arg, set_arg)
 
- 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 ExprMem stand for a memory access

Use cases:
 - Memory read
 - Memory write

Constructor & Destructor Documentation

◆ __init__()

def miasm.expression.expression.ExprMem.__init__ (   self,
  ptr,
  size = None 
)
Create an ExprMem
@ptr: Expr, memory access address
@size: int, memory access size

Member Function Documentation

◆ __new__()

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

◆ __reduce__()

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

◆ __str__()

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

Reimplemented from miasm.expression.expression.Expr.

◆ copy()

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

Reimplemented from miasm.expression.expression.Expr.

◆ depth()

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

◆ get_arg()

def miasm.expression.expression.ExprMem.get_arg (   self)

◆ get_w()

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

◆ graph_recursive()

def miasm.expression.expression.ExprMem.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_mem()

def miasm.expression.expression.ExprMem.is_mem (   self)

Reimplemented from miasm.expression.expression.Expr.

◆ is_mem_segm()

def miasm.expression.expression.ExprMem.is_mem_segm (   self)
Returns True if is ExprMem and ptr is_op_segm

Reimplemented from miasm.expression.expression.Expr.

◆ set_arg()

def miasm.expression.expression.ExprMem.set_arg (   self,
  value 
)

Property Documentation

◆ arg

miasm.expression.expression.ExprMem.arg = property(get_arg, set_arg)
static

◆ ptr

miasm.expression.expression.ExprMem.ptr = property(lambda self: self._ptr)
static

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