miasm
Reverse engineering framework
miasm.analysis.modularintervals.ModularIntervals Class Reference
Inheritance diagram for miasm.analysis.modularintervals.ModularIntervals:
Collaboration diagram for miasm.analysis.modularintervals.ModularIntervals:

Public Member Functions

def __init__ (self, size, intervals=None)
 
def __add__ (self, to_add)
 
def __or__ (self, to_or)
 
def __and__ (self, to_and)
 
def __xor__ (self, to_xor)
 
def __mul__ (self, to_mul)
 
def __rshift__ (self, to_shift)
 
def __lshift__ (self, to_shift)
 
def arithmetic_shift_right (self, to_shift)
 
def __neg__ (self)
 
def __mod__ (self, modulo)
 
def rotation_right (self, to_rotate)
 
def rotation_left (self, to_rotate)
 
def mask (self)
 
def __iter__ (self)
 
def length (self)
 
def __contains__ (self, other)
 
def __str__ (self)
 
def size_update (self, new_size)
 
def union (self, to_union)
 
def update (self, to_union)
 
def intersection (self, to_intersect)
 
def intersection_update (self, to_intersect)
 

Public Attributes

 intervals
 
 size
 

Detailed Description

Intervals with a maximum size, supporting modular arithmetic

Constructor & Destructor Documentation

◆ __init__()

def miasm.analysis.modularintervals.ModularIntervals.__init__ (   self,
  size,
  intervals = None 
)
Instantiate a ModularIntervals of size @size
@size: maximum size of elements
@intervals: (optional) interval instance, or any type  supported by
            interval initialisation; element of the current instance

Member Function Documentation

◆ __add__()

def miasm.analysis.modularintervals.ModularIntervals.__add__ (   self,
  to_add 
)
Add @to_add to the current intervals
@to_add: ModularInstances or integer
Here is the caller graph for this function:

◆ __and__()

def miasm.analysis.modularintervals.ModularIntervals.__and__ (   self,
  to_and 
)
Bitwise AND @to_and to the current intervals
@to_and: ModularInstances or integer
Here is the caller graph for this function:

◆ __contains__()

def miasm.analysis.modularintervals.ModularIntervals.__contains__ (   self,
  other 
)

◆ __iter__()

def miasm.analysis.modularintervals.ModularIntervals.__iter__ (   self)
Here is the caller graph for this function:

◆ __lshift__()

def miasm.analysis.modularintervals.ModularIntervals.__lshift__ (   self,
  to_shift 
)
Logical shift left the current intervals of @to_shift
@to_shift: ModularInstances or integer
Here is the call graph for this function:

◆ __mod__()

def miasm.analysis.modularintervals.ModularIntervals.__mod__ (   self,
  modulo 
)
Apply % @modulo on the current intervals
@modulo: integer

◆ __mul__()

def miasm.analysis.modularintervals.ModularIntervals.__mul__ (   self,
  to_mul 
)
Multiply @to_mul to the current intervals
@to_mul: ModularInstances or integer
Here is the caller graph for this function:

◆ __neg__()

def miasm.analysis.modularintervals.ModularIntervals.__neg__ (   self)
Negate the current intervals

◆ __or__()

def miasm.analysis.modularintervals.ModularIntervals.__or__ (   self,
  to_or 
)
Bitwise OR @to_or to the current intervals
@to_or: ModularInstances or integer
Here is the caller graph for this function:

◆ __rshift__()

def miasm.analysis.modularintervals.ModularIntervals.__rshift__ (   self,
  to_shift 
)
Logical shift right the current intervals of @to_shift
@to_shift: ModularInstances or integer
Here is the call graph for this function:

◆ __str__()

def miasm.analysis.modularintervals.ModularIntervals.__str__ (   self)

◆ __xor__()

def miasm.analysis.modularintervals.ModularIntervals.__xor__ (   self,
  to_xor 
)
Bitwise XOR @to_xor to the current intervals
@to_xor: ModularInstances or integer
Here is the caller graph for this function:

◆ arithmetic_shift_right()

def miasm.analysis.modularintervals.ModularIntervals.arithmetic_shift_right (   self,
  to_shift 
)
Arithmetic shift right the current intervals of @to_shift
@to_shift: ModularInstances or integer
Here is the call graph for this function:

◆ intersection()

def miasm.analysis.modularintervals.ModularIntervals.intersection (   self,
  to_intersect 
)
Intersection set operation with @to_intersect
@to_intersect: ModularIntervals instance
Here is the caller graph for this function:

◆ intersection_update()

def miasm.analysis.modularintervals.ModularIntervals.intersection_update (   self,
  to_intersect 
)
Intersection set operation in-place with @to_intersect
@to_intersect: ModularIntervals instance

◆ length()

def miasm.analysis.modularintervals.ModularIntervals.length (   self)
Here is the caller graph for this function:

◆ mask()

def miasm.analysis.modularintervals.ModularIntervals.mask (   self)
Return the mask corresponding to the instance size
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rotation_left()

def miasm.analysis.modularintervals.ModularIntervals.rotation_left (   self,
  to_rotate 
)
Left rotate the current intervals of @to_rotate
@to_rotate: ModularInstances or integer
Here is the call graph for this function:

◆ rotation_right()

def miasm.analysis.modularintervals.ModularIntervals.rotation_right (   self,
  to_rotate 
)
Right rotate the current intervals of @to_rotate
@to_rotate: ModularInstances or integer
Here is the call graph for this function:

◆ size_update()

def miasm.analysis.modularintervals.ModularIntervals.size_update (   self,
  new_size 
)
Update the instance size to @new_size
The size of elements must be <= @new_size
Here is the call graph for this function:

◆ union()

def miasm.analysis.modularintervals.ModularIntervals.union (   self,
  to_union 
)
Union set operation with @to_union
@to_union: ModularIntervals instance
Here is the caller graph for this function:

◆ update()

def miasm.analysis.modularintervals.ModularIntervals.update (   self,
  to_union 
)
Union set operation in-place with @to_union
@to_union: ModularIntervals instance

Member Data Documentation

◆ intervals

miasm.analysis.modularintervals.ModularIntervals.intervals

◆ size

miasm.analysis.modularintervals.ModularIntervals.size

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