Representation of a logical address based on a segment register.

Examples

>>> addr = address.LogicalAddress(0xfffff800c99455b0L)
>>> hex(addr.offset)
'0xfffff800c99455b0L'
>>> print(addr)
ds:0xfffff800c99455b0
Method __init__ Initializes a LogicalAddress from an offset and a segment register.
Method segment_register Property: The segment register of the logical address.
Method __repr__ Undocumented
Method __str__ Undocumented
Method _pack Pack a LogicalAddress to its high level representation.
Method _is_comparable Whether two address objects are comparable or not.
Method _pack_segment_register Undocumented

Inherited from _AbstractAddress:

Method offset Property: The offset of the address.
Method __eq__ Undocumented
Method __ne__ Undocumented
Method __lt__ Undocumented
Method __le__ Undocumented
Method __gt__ Undocumented
Method __ge__ Undocumented
Method __iadd__ Undocumented
Method __isub__ Undocumented
Method __add__ Undocumented
Method __sub__ Undocumented
Static Method _unpack_segment_register Undocumented
Static Method _unpack Unpack a low level representation of an address to its high level representation.
def __init__(self, offset, segment_register=None):

Initializes a LogicalAddress from an offset and a segment register.

If the segment register is set to None, arch.x64.ds is used as segment register to initialize the logical address.

Examples

>>> print(address.LogicalAddress(0x10))
ds:0x10
>>> print(address.LogicalAddress(256))
ds:0x100
>>> print(address.LogicalAddress(0xfffff800c99455b0L))
ds:0xfffff800c99455b0
>>> print(address.LogicalAddress(0xfffff800c99455b0L, arch.x64.cs))
cs:0xfffff800c99455b0

Information

ParametersoffsetThe offset of the logical address. (type: integer)
segment_registerThe segment register of the logical address. (type: arch.register.Register)
RaisesTypeErrorif `offset` is not an integer or `segment_register` is not a arch.register.Register.
ValueErrorif `offset` can not be converted to an integer or `segment_register` is not a segment register.
@property
def segment_register(self):

Property: The segment register of the logical address.

Examples

>>> address.LogicalAddress(0xfffff800c99455b0L).segment_register
Register(x64.ds)
>>> address.LogicalAddress(0xfffff800c99455b0L, arch.x64.cs).segment_register
Register(x64.cs)

Information

ReturnsA arch.register.Register.
def _pack(self):

Pack a LogicalAddress to its high level representation.

Information

ReturnsA reven_api.VirtualAddress.
def _is_comparable(self, other):

Whether two address objects are comparable or not.

def __repr__(self):
Undocumented
def __str__(self):
Undocumented
def _pack_segment_register(self):
Undocumented
API Documentation for reven2, generated by pydoctor at 2019-11-13 18:38:15.