class _AbstractAddress(object):
Known subclasses: reven2.address.LinearAddress
, reven2.address.LogicalAddress
, reven2.address.LogicalAddressSegmentIndex
, reven2.address.PhysicalAddress
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 |
This method gets an html formatting string representation for this class instance. |
Method | offset |
Undocumented |
Property | offset |
Property: The offset of the address. |
Class Method | _unique |
Undocumented |
Static Method | _unpack |
Unpack a low level representation of an address to its high level representation. |
Static Method | _unpack |
Undocumented |
Method | _address |
Undocumented |
Method | _is |
Whether two address objects are comparable or not. |
Method | _pack |
Pack an address to its high level representation. |
Method | _repr |
Representation used by Jupyter Notebook when an instance of the address classes is displayed in a cell. |
Class Variable | _unique |
Undocumented |
Instance Variable | _formatter |
Undocumented |
Instance Variable | _offset |
Undocumented |
Undocumented
Parameters | |
other:_SupportsInt | Undocumented |
Returns | |
AddressType | Undocumented |
Undocumented
Parameters | |
other:_SupportsInt | Undocumented |
Returns | |
AddressType | Undocumented |
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:_Any | Undocumented |
Returns | |
bool | Undocumented |
Undocumented
Parameters | |
other:_SupportsInt | Undocumented |
Returns | |
AddressType | Undocumented |
Undocumented
Parameters | |
other:_SupportsInt | Undocumented |
Returns | |
AddressType | Undocumented |
reven2.address.LinearAddress
, reven2.address.LogicalAddress
, reven2.address.LogicalAddressSegmentIndex
, reven2.address.PhysicalAddress
Undocumented
Parameters | |
offset:int | Undocumented |
formatter:_Optional[ | Undocumented |
Undocumented
Parameters | |
other:_SupportsInt | Undocumented |
Returns | |
AddressType | Undocumented |
Undocumented
Parameters | |
other:_SupportsInt | Undocumented |
Returns | |
AddressType | Undocumented |
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:_Any | Undocumented |
Returns | |
bool | Undocumented |
Undocumented
Parameters | |
other:_SupportsInt | Undocumented |
Returns | |
AddressType | Undocumented |
Undocumented
Parameters | |
other:_SupportsInt | Undocumented |
Returns | |
AddressType | Undocumented |
This method gets an html formatting string representation for this class instance.
Information
Returns | |
str | String |
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. |
def _unpack_segment_register(data):
Undocumented
Parameters | |
data:_reven_api.SegmentRegister | Undocumented |
Returns | |
_Optional[ | Undocumented |
def _address_data(self):
reven2.address.LinearAddress
, reven2.address.LogicalAddress
, reven2.address.LogicalAddressSegmentIndex
, reven2.address.PhysicalAddress
Undocumented
def _is_comparable(self, other):
reven2.address.LinearAddress
, reven2.address.LogicalAddress
, reven2.address.LogicalAddressSegmentIndex
, reven2.address.PhysicalAddress
Whether two address objects are comparable or not.
Parameters | |
other:_Any | Undocumented |
Returns | |
bool | Undocumented |
def _pack(self):
reven2.address.LinearAddress
, reven2.address.LogicalAddress
, reven2.address.LogicalAddressSegmentIndex
, reven2.address.PhysicalAddress
Pack an address to its high level representation.
Returns | |
_Union[ | Undocumented |
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 | |
str | Undocumented |