This object represents the state of memory at a specified trace point.

Method __init__
Method point Property: The point in the trace.
Method default_segment Property: The default segment selector value used to access data by logical address.
Method read Read logical memory.
Method read_u8 Read a 8-bit unsigned integer from logical memory.
Method read_i8 Read a 8-bit signed integer from logical memory.
Method read_u16 Read a 16-bit unsigned integer from logical memory.
Method read_i16 Read a 16-bit signed integer from logical memory.
Method read_u32 Read a 32-bit unsigned integer from logical memory.
Method read_i32 Read a 32-bit signed integer from logical memory.
Method read_u64 Read a 64-bit unsigned integer from logical memory.
Method read_i64 Read a 64-bit signed integer from logical memory.
Method read_f32 Read a 32-bits float number from logical memory.
Method read_f64 Read 64-bits float number from logical memory.
Method read_string Read a null-terminated string from logical memory.
Method read_wstring Read a Windows string from the logical memory.
Method get_physical_address Perform a logical address translation. Beware that this won't execute page fault exeptions, so the logical address must be mapped.
Method read_physical Read physical memory.
Method search Search pattern in a range of memory.
Method __repr__ Undocumented
Method _rvn Undocumented
Method _rvn_point Undocumented
def __init__(self, pt, default_segment=None):
Parameterspta Point.
default_segmentThe default segment selector value used to access data by logical address in this memory object. If none, will be the current value of ds.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
@property
def _rvn(self):
Undocumented
@property
def _rvn_point(self):
Undocumented
@property
def point(self):

Property: The point in the trace.

@property
def default_segment(self):

Property: The default segment selector value used to access data by logical address.

def read(self, addr, size, segment=None):

Read logical memory.

ParametersaddrThe logical address offset.
sizeThe amount of bytes to read.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsA string containing the requested bytes.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_u8(self, addr, segment=None):

Read a 8-bit unsigned integer from logical memory.

ParametersaddrThe logical address offset where to read.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsAn integer representing the requested byte.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_i8(self, addr, segment=None):

Read a 8-bit signed integer from logical memory.

ParametersaddrThe logical address offset where to read.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsAn integer representing the requested byte.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_u16(self, addr, segment=None):

Read a 16-bit unsigned integer from logical memory.

ParametersaddrThe logical address offset where to start reading.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsAn integer representing the requested bytes interpreted in the guest's endianness.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_i16(self, addr, segment=None):

Read a 16-bit signed integer from logical memory.

ParametersaddrThe logical address offset where to start reading.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsAn integer representing the requested bytes interpreted in the guest's endianness.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_u32(self, addr, segment=None):

Read a 32-bit unsigned integer from logical memory.

ParametersaddrThe logical address offset where to start reading
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsAn integer representing the requested bytes interpreted in the guest's endianness.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_i32(self, addr, segment=None):

Read a 32-bit signed integer from logical memory.

ParametersaddrThe logical address offset where to start reading.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsAn integer representing the requested bytes interpreted in the guest's endianness.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_u64(self, addr, segment=None):

Read a 64-bit unsigned integer from logical memory.

ParametersaddrThe logical address offset where to start reading.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsAn integer representing the requested bytes interpreted in the guest's endianness.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_i64(self, addr, segment=None):

Read a 64-bit signed integer from logical memory.

ParametersaddrThe logical address offset where to start reading.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsAn integer representing the requested bytes interpreted in the guest's endianness.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_f32(self, addr, segment=None):

Read a 32-bits float number from logical memory.

ParametersaddrThe logical address offset where to start reading.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsA float representing the requested bytes interpreted in the guest's endianness.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_f64(self, addr, segment=None):

Read 64-bits float number from logical memory.

ParametersaddrThe logical address offset where to start reading.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsA float representing the requested bytes interpreted in the guest's endianness.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_string(self, addr, segment=None):

Read a null-terminated string from logical memory.

ParametersaddrThe logical address offset where to start reading.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsThe string that was read.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_wstring(self, addr, segment=None):

Read a Windows string from the logical memory.

Note that non-ASCII characters may be rendered incorrectly.

ParametersaddrThe logical address offset where to start reading.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsThe wstring that was read, as a python string.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def get_physical_address(self, addr, segment=None):

Perform a logical address translation. Beware that this won't execute page fault exeptions, so the logical address must be mapped.

ParametersaddrThe logical address offset.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsThe physical address translation, or None if that address isn't mapped at that point.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def read_physical(self, addr, size):

Read physical memory.

ParametersaddrThe physical address of memory to read.
sizeThe amount of bytes to read.
ReturnsA string containing the requested bytes.
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def search(self, pattern, begin_addr=0, end_addr=4294967295, segment=None):

Search pattern in a range of memory.

The search algorithm is "greedy", ie if a repeating pattern is searched for, like for instance "cafeca", the memory "cafecafeca" will match only once (only the first "cafeca" is recognized).

ParameterspatternThe pattern to search.
begin_addrThe lower bound of the memory range.
end_addrThe upper bound of the memory range.
segmentThe segment selector value used to access data by logical address. If none, will be Memory.default_segment.
ReturnsA list of tuples composed of the segment and the offset of a logical address: [(segment, offset), etc.].
Raisesreven_api.ServiceNotAllowedDuringExecutionErrorIf this method is called during the execution.
RuntimeErrorIf the connection is lost, in case of bad input, or in case of internal service error.
def __repr__(self):
Undocumented
API Documentation for reven, generated by pydoctor at 2018-06-06 16:31:21.