class documentation

class Location(object):

View In Hierarchy

Useful OSSI information related to an address, such as the nearest symbol or the base address.

Warnings

Must not be directly constructed but retrieved through the following examples.

Examples

>>> # From a Transition
>>> transition.context_before().ossi.location(addr)  # from the context before the transition
>>> transition.context_after().ossi.location(addr)   # from the context after the transition
>>> # From a Context
>>> context.ossi.location()      # from the current value in the pc register
>>> context.ossi.location(addr)  # from an address
Method __init__ Undocumented
Property base_address Property: The address where the binary is loaded in memory (aka base address).
Property rva Property: The relative virtual address (rva) inside the binary.
Property address Property: The address in memory.
Property symbol_offset Property: The offset from the begining of the nearest symbol.
Property symbol Property: The nearest symbol, if exists.
Property binary Property: The related binary.
Method __str__ Undocumented
Method __repr__ Undocumented
Instance Variable _datasource Undocumented
Instance Variable _symbol_context Undocumented
def __init__(self, _datasource, _symbol_context):

Undocumented

_datasource =

Undocumented

_symbol_context =

Undocumented

@property
base_address =

Property: The address where the binary is loaded in memory (aka base address).

Examples

>>> hex(location.base_address)
'0xfffff800c9801000L'

Information

ReturnsAn integer.
@property
rva =

Property: The relative virtual address (rva) inside the binary.

The rva is the offset from the base address of the binary loaded in memory.

Examples

>>> hex(symbol.rva)
'0x1445b0'

Information

ReturnsAn integer.
@property
address =

Property: The address in memory.

Examples

>>> hex(location.address)
'0xfffff800c99455b0L'

Information

ReturnsAn integer.
@property
symbol_offset =

Property: The offset from the begining of the nearest symbol.

Examples

>>> hex(symbol.offset)
'0x10'

Information

ReturnsAn integer.
RaisesRuntimeErrorif the location is not linked to a symbol.
@property
symbol =

Property: The nearest symbol, if exists.

If the location is not linked to a symbol, None is returned.

Examples

>>> location.symbol.name
'KiIsrLinkage'
>>> hex(location.symbol.rva)
'0x1445a0'
>>> print(location.symbol)
'ntoskrnl!KiIsrLinkage'

Information

ReturnsA Symbol or None
@property
binary =

Property: The related binary.

Examples

>>> print(location.binary)
'c:/windows/system32/ntoskrnl.exe'

Information

ReturnsA Binary.
def __str__(self):

Undocumented

def __repr__(self):

Undocumented

API Documentation for reven2, generated by pydoctor 21.2.2 at 2021-10-01 07:17:11.