class documentation

The abstract class from which any address representation is derived.

It contains implementation of comparison operators and addition/substraction operators.

Method __add__ Undocumented
Method __and__ Undocumented
Method __eq__ Compares the instance for equality with an object.
Method __ge__ Undocumented
Method __gt__ Undocumented
Method __hash__ Returns the hash for this value.
Method __iadd__ Undocumented
Method __iand__ Undocumented
Method __init__ Undocumented
Method __ior__ Undocumented
Method __isub__ Undocumented
Method __le__ Undocumented
Method __lt__ Undocumented
Method __ne__ Compares the instance for equality with an object.
Method __or__ Undocumented
Method __sub__ Undocumented
Method format_as_html This method gets an html formatting string representation for this class instance.
Method offset.setter Undocumented
Property offset Property: The offset of the address.
Class Method _unique_id Undocumented
Static Method _unpack Unpack a low level representation of an address to its high level representation.
Static Method _unpack_segment_register Undocumented
Method _address_data Undocumented
Method _is_comparable Whether two address objects are comparable or not.
Method _pack Pack an address to its high level representation.
Method _repr_html_ Representation used by Jupyter Notebook when an instance of the address classes is displayed in a cell.
Class Variable _unique_count Undocumented
Instance Variable _formatter Undocumented
Instance Variable _offset Undocumented
def __add__(self, other):

Undocumented

Parameters
other:_SupportsIntUndocumented
Returns
AddressTypeUndocumented
def __and__(self, other):

Undocumented

Parameters
other:_SupportsIntUndocumented
Returns
AddressTypeUndocumented
def __eq__(self, other):

Compares the instance for equality with an object.

  • if the object is an address comparable to this instance, then the addresses are equal if their offset is equal.
  • Otherwise, the object is never equal to the instance.

Note

  • Comparable addresses are addresses of the same kind (linear, logical, physical) and the same kind parameters (segment, segment index, etc.). We could say that two addresses are comparable when they have the same address space.
Parameters
other:_AnyUndocumented
Returns
boolUndocumented
def __ge__(self, other):

Undocumented

def __gt__(self, other):

Undocumented

def __hash__(self):

Returns the hash for this value.

Returns
intUndocumented
def __iadd__(self, other):

Undocumented

Parameters
other:_SupportsIntUndocumented
Returns
AddressTypeUndocumented
def __iand__(self, other):

Undocumented

Parameters
other:_SupportsIntUndocumented
Returns
AddressTypeUndocumented
def __init__(self, offset, formatter):

Undocumented

Parameters
offset:intUndocumented
formatter:_Optional[Formatter]Undocumented
def __ior__(self, other):

Undocumented

Parameters
other:_SupportsIntUndocumented
Returns
AddressTypeUndocumented
def __isub__(self, other):

Undocumented

Parameters
other:_SupportsIntUndocumented
Returns
AddressTypeUndocumented
def __le__(self, other):

Undocumented

def __lt__(self, other):

Undocumented

def __ne__(self, other):

Compares the instance for equality with an object.

  • if the object is an address comparable to this instance, then the addresses are equal if their offset is equal.
  • Otherwise, the object is never equal to the instance.

Note

  • Comparable addresses are addresses of the same kind (linear, logical, physical) and the same kind parameters (segment, segment index, etc.). We could say that two addresses are comparable when they have the same address space.
Parameters
other:_AnyUndocumented
Returns
boolUndocumented
def __or__(self, other):

Undocumented

Parameters
other:_SupportsIntUndocumented
Returns
AddressTypeUndocumented
def __sub__(self, other):

Undocumented

Parameters
other:_SupportsIntUndocumented
Returns
AddressTypeUndocumented
def format_as_html(self):

This method gets an html formatting string representation for this class instance.

Information

Returns
strString
@offset.setter
def offset(self, offset):

Undocumented

Parameters
offset:intUndocumented
@property
offset: int =

Property: The offset of the address.

Examples

>>> hex(address.PhysicalAddress(0xfffff800c99455b0).offset)
'0xfffff800c99455b0'
>>> hex(address.LinearAddress(0xfffff800c99455b0).offset)
'0xfffff800c99455b0'
>>> hex(address.LogicalAddress(0xfffff800c99455b0).offset)
'0xfffff800c99455b0'
>>> hex(address.LogicalAddressSegmentIndex(0xfffff800c99455b0).offset)
'0xfffff800c99455b0'

Information

Returns
An integer.
@classmethod
def _unique_id(cls):

Undocumented

Returns
strUndocumented
@staticmethod
def _unpack(data, formatter=None):

Unpack a low level representation of an address to its high level representation.

Parameters
data:_Union[_reven_api.PhysicalAddress, _reven_api.VirtualAddress]Undocumented
formatter:_Optional[Formatter]Undocumented
Returns
AddressUndocumented
@staticmethod
def _unpack_segment_register(data):

Undocumented

Parameters
data:_reven_api.SegmentRegisterUndocumented
Returns
_Optional[_register.Register]Undocumented
@_abc.abstractmethod
def _is_comparable(self, other):

Whether two address objects are comparable or not.

Parameters
other:_AnyUndocumented
Returns
boolUndocumented
@_abc.abstractmethod
def _pack(self):

Pack an address to its high level representation.

Returns
_Union[_reven_api.PhysicalAddress, _reven_api.VirtualAddress]Undocumented
def _repr_html_(self):

Representation used by Jupyter Notebook when an instance of the address classes is displayed in a cell.

The address is returned as a clickable link containing the address string, that publishes the address to all tracked reven2.session.Sessions.

Returns
strUndocumented
_unique_count: int =

Undocumented

_formatter =

Undocumented

_offset =

Undocumented