abstract
void
|
addAllocListener(IMemoryAllocListener listener)
|
abstract
void
|
addFreeListener(IMemoryFreeListener listener)
|
abstract
void
|
addPreWriteListener(IMemoryWriteListener listener)
Note: The callback is invoked before the write operation takes place.
|
abstract
void
|
addPropertyListener(IMemoryPropertyListener listener)
|
abstract
void
|
addProtectionListener(IMemoryProtectionListener listener)
|
abstract
void
|
addWriteListener(IMemoryWriteListener listener)
|
abstract
void
|
allocate(long address, int size, int protection)
Allocate the entire memory range or nothing (fail).
|
abstract
void
|
allocatePage(long address, int protection)
Allocate a single page.
|
abstract
int
|
check(long address, int size, int protection)
Check if a memory range has at least the given set of protection flags.
|
abstract
IVirtualMemory
|
duplicate()
Make a deep copy of this virtual memory.
|
abstract
void
|
free(long address, int size)
Free the entire memory range or fail.
|
abstract
void
|
freePage(long address)
Free a single page.
|
abstract
Collection<Long>
|
getAllocatedPageBases()
Retrieve the base addresses of the pages that are allocated (in the most general sense: that
includes pages "reserved", depending on VM implementation).
|
abstract
int
|
getAllocatedPageCount()
Get the number of pages allocated (in the most general sense: that includes pages "reserved",
depending on VM implementation).
|
abstract
int
|
getAproximateFootprint()
Determine the approximate memory footprint of this object, in kilobytes.
|
abstract
int
|
getPageBits()
Get the width of a memory page in bits.
|
abstract
int
|
getPageProtection(long address)
Get the protection flags for a page.
|
abstract
int
|
getPageSize()
Get the size of a page in bytes.
|
abstract
int
|
getSpaceBits()
Get the width of this memory space in bits.
|
abstract
Endianness
|
getStandardEndianess()
Get the standard endianness.
|
abstract
boolean
|
isAllocatedPage(long address)
Determine whether the provided address belongs to an allocated page.
|
abstract
boolean
|
isValidAddress(long address)
Determine if an address is valid for this memory space.
|
abstract
int
|
read(long address, int size, byte[] dst, int dstOffset, boolean bypassProtection)
Read a range of bytes.
|
abstract
int
|
read(long address, int size, byte[] dst, int dstOffset)
Read a range of bytes.
|
abstract
int
|
readBEInt(long address)
Read a big-endian 32-bit integer.
|
abstract
long
|
readBELong(long address)
Read a big-endian 64-bit integer.
|
abstract
short
|
readBEShort(long address)
Read a big-endian 16-bit integer.
|
abstract
byte
|
readByte(long address)
Convenience method.
|
abstract
int
|
readInt(long address, Endianness end)
Read a 32-bit integer.
|
abstract
int
|
readInt(long address)
|
abstract
int
|
readLEInt(long address)
Read a little-endian 32-bit integer.
|
abstract
long
|
readLELong(long address)
Read a little-endian 64-bit integer.
|
abstract
short
|
readLEShort(long address)
Read a little-endian 16-bit integer.
|
abstract
long
|
readLong(long address, Endianness end)
Read a 64-bit integer.
|
abstract
long
|
readLong(long address)
|
abstract
long
|
readPointer(long address)
@return
|
abstract
short
|
readShort(long address, Endianness end)
Read a 16-bit integer.
|
abstract
short
|
readShort(long address)
|
abstract
void
|
removeAllocListener(IMemoryAllocListener listener)
|
abstract
void
|
removeFreeListener(IMemoryFreeListener listener)
|
abstract
void
|
removePreWriteListener(IMemoryWriteListener listener)
|
abstract
void
|
removePropertyListener(IMemoryPropertyListener listener)
|
abstract
void
|
removeProtectionListener(IMemoryProtectionListener listener)
|
abstract
void
|
removeWriteListener(IMemoryWriteListener listener)
|
abstract
long
|
roundToPage(long address)
Round an address to the page this address currently resides in, that is the highest page so
that boundary ≤ address.
|
abstract
long
|
roundToSize(long address)
Round an address to the lowest page boundary so that address ≤ boundary.
|
abstract
void
|
setLazyMemoryProvider(ILazyMemoryProvider lazyMemoryProvider, boolean skipFailedAllocations)
Set a lazy memory provider.
|
abstract
void
|
setPageProtection(long address, int protection)
Set the protection flags for a page.
|
abstract
void
|
setStandardEndianness(Endianness endianness)
Set the standard endianness.
|
abstract
int
|
write(long address, int size, byte[] src, int srcOffset)
Write a range of bytes.
|
abstract
int
|
write(long address, int size, byte[] src, int srcOffset, boolean bypassProtection)
Write a range of bytes.
|
abstract
void
|
writeBEInt(long address, int v)
Write a big-endian 32-bit integer.
|
abstract
void
|
writeBELong(long address, long v)
Write a big-endian 64-bit integer.
|
abstract
void
|
writeBEShort(long address, short v)
Write a big-endian 16-bit integer.
|
abstract
void
|
writeByte(long address, byte v)
Write a byte.
|
abstract
void
|
writeInt(long address, int v, Endianness end)
Write a 32-bit integer.
|
abstract
void
|
writeInt(long address, int v)
|
abstract
void
|
writeLEInt(long address, int v)
Write a little-endian 32-bit integer.
|
abstract
void
|
writeLELong(long address, long v)
Write a little-endian 64-bit integer.
|
abstract
void
|
writeLEShort(long address, short v)
Write a little-endian 16-bit integer.
|
abstract
void
|
writeLong(long address, long v)
|
abstract
void
|
writeLong(long address, long v, Endianness end)
Write a 64-bit integer.
|
abstract
void
|
writePointer(long address, long ptr)
|
abstract
void
|
writeShort(long address, short v)
|
abstract
void
|
writeShort(long address, short v, Endianness end)
Write a 16-bit integer.
|