class documentation

class LinearAddress(_AbstractAddress):

View In Hierarchy

Representation of a linear address.

Examples

>>> addr = address.LinearAddress(0xfffff800c99455b0)
>>> hex(addr.offset)
'0xfffff800c99455b0'
>>> print(addr)
lin:0xfffff800c99455b0
Method __init__ Initializes a LinearAddress from an offset.
Method __repr__ Undocumented
Method __str__ Undocumented
Method translate Translates this virtual address to a physical address, if it is mapped at the specified context.
Method _address_data Undocumented
Method _is_comparable Whether two address objects are comparable or not.
Method _pack Pack a LinearAddress to its high level representation (reven_api.VirtualAddress).

Inherited from _AbstractAddress:

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 __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 _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 __init__(self, offset, formatter=None):

Initializes a LinearAddress from an offset.

Examples

>>> print(address.LinearAddress(0x10))
lin:0x10
>>> print(address.LinearAddress(256))
lin:0x100
>>> print(address.LinearAddress(0xfffff800c99455b0))
lin:0xfffff800c99455b0

Information

Parameters
offset:integerThe offset of the linear address.
formatter:FormatterThe formatter for this address
Raises
TypeErrorif `offset` is not an integer.
ValueErrorif `offset` can not be converted to an integer.
def __repr__(self):

Undocumented

Returns
strUndocumented
def __str__(self):

Undocumented

Returns
strUndocumented
def translate(self, context):

Translates this virtual address to a physical address, if it is mapped at the specified context.

Information

Parameters
context:_ContextThe reven2.trace.Context at which the translation should be attempted
Returns
_Optional[PhysicalAddress]A PhysicalAddress if the current virtual address is mapped at the specified context, otherwise None
def _address_data(self):
def _is_comparable(self, other):

Whether two address objects are comparable or not.

Parameters
other:_AnyUndocumented
Returns
boolUndocumented
def _pack(self):

Pack a LinearAddress to its high level representation (reven_api.VirtualAddress).

Returns
_reven_api.VirtualAddressUndocumented