| java.lang.Object | |
| ↳ | com.pnfsoftware.jeb.core.units.code.asm.memory.AbstractVirtualMemory |
A skeleton implementation for virtual memory classes. Most dummy/trivial methods are implemented here.
|
[Expand]
Inherited Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From interface
com.pnfsoftware.jeb.core.units.code.asm.memory.IVirtualMemory
| |||||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| AbstractVirtualMemory() | |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| void | addAllocListener(IMemoryAllocListener listener) | ||||||||||
| void | addFreeListener(IMemoryFreeListener listener) | ||||||||||
| void | addPropertyListener(IMemoryPropertyListener listener) | ||||||||||
| void | addProtectionListener(IMemoryProtectionListener listener) | ||||||||||
| void | addWriteListener(IMemoryWriteListener listener) | ||||||||||
| void |
allocatePage(long address, int protection)
Allocate a single page.
| ||||||||||
| void |
freePage(long address)
Free a single page.
| ||||||||||
| synchronized int |
readBEInt(long address)
Read a big-endian 32-bit integer.
| ||||||||||
| synchronized long |
readBELong(long address)
Read a big-endian 64-bit integer.
| ||||||||||
| synchronized short |
readBEShort(long address)
Read a big-endian 16-bit integer.
| ||||||||||
| synchronized byte |
readByte(long address)
Read a byte.@return
| ||||||||||
| synchronized int |
readInt(long address, Endianness end)
Read a little-endian 32-bit integer.
| ||||||||||
| synchronized int |
readInt(long address)
Read a little-endian 32-bit integer using the
standard
endianness. | ||||||||||
| synchronized int |
readLEInt(long address)
Read a little-endian 32-bit integer.
| ||||||||||
| synchronized long |
readLELong(long address)
Read a little-endian 64-bit integer.
| ||||||||||
| synchronized short |
readLEShort(long address)
Read a little-endian 16-bit integer.
| ||||||||||
| synchronized long |
readLong(long address, Endianness end)
Read a little-endian 64-bit integer.
| ||||||||||
| synchronized long |
readLong(long address)
Read a little-endian 64-bit integer using the
standard
endianness. | ||||||||||
| long |
readPointer(long address)
@return
| ||||||||||
| synchronized short |
readShort(long address, Endianness end)
Read a 16-bit integer.
| ||||||||||
| synchronized short |
readShort(long address)
Read a 16-bit integer using the
standard endianness. | ||||||||||
| void | removeAllocListener(IMemoryAllocListener listener) | ||||||||||
| void | removeFreeListener(IMemoryFreeListener listener) | ||||||||||
| void | removePropertyListener(IMemoryPropertyListener listener) | ||||||||||
| void | removeProtectionListener(IMemoryProtectionListener listener) | ||||||||||
| void | removeWriteListener(IMemoryWriteListener listener) | ||||||||||
| long |
roundToPage(long address)
Round an address to the page this address currently resides in, that is the highest page so
that boundary ≤ address.
| ||||||||||
| long |
roundToSize(long address)
Round an address to the lowest page boundary so that address ≤ boundary.
| ||||||||||
| synchronized void |
writeBEInt(long address, int v)
Write a big-endian 32-bit integer.
| ||||||||||
| synchronized void |
writeBELong(long address, long v)
Write a big-endian 64-bit integer.
| ||||||||||
| synchronized void |
writeBEShort(long address, short v)
Write a big-endian 16-bit integer.
| ||||||||||
| synchronized void |
writeByte(long address, byte v)
Write a byte.
| ||||||||||
| synchronized void |
writeInt(long address, int v)
Write a little-endian 32-bit integer using the
standard
endianness. | ||||||||||
| synchronized void |
writeInt(long address, int v, Endianness end)
Write a little-endian 32-bit integer.
| ||||||||||
| synchronized void |
writeLEInt(long address, int v)
Write a little-endian 32-bit integer.
| ||||||||||
| synchronized void |
writeLELong(long address, long v)
Write a little-endian 64-bit integer.
| ||||||||||
| synchronized void |
writeLEShort(long address, short v)
Write a little-endian 16-bit integer.
| ||||||||||
| synchronized void |
writeLong(long address, long v)
Write a little-endian 64-bit integer using the
standard
endianness. | ||||||||||
| synchronized void |
writeLong(long address, long v, Endianness end)
Write a little-endian 64-bit integer.
| ||||||||||
| void | writePointer(long address, long ptr) | ||||||||||
| synchronized void |
writeShort(long address, short v)
Write a 16-bit integer using the
standard endianness. | ||||||||||
| synchronized void |
writeShort(long address, short v, Endianness end)
Write a 16-bit integer.
| ||||||||||
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| List<IMemoryAllocListener> | getAllocListeners() | ||||||||||
| List<IMemoryFreeListener> | getFreeListeners() | ||||||||||
| List<IMemoryPropertyListener> | getPropertyListeners() | ||||||||||
| List<IMemoryProtectionListener> | getProtectionListeners() | ||||||||||
| List<IMemoryWriteListener> | getWriteListeners() | ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
com.pnfsoftware.jeb.core.units.code.asm.memory.IVirtualMemory
| |||||||||||
Allocate a single page. See allocate(long, int, int).
| MemoryException |
|---|
Read a big-endian 32-bit integer. This method does not do partial reads.@return
| MemoryException |
|---|
Read a big-endian 64-bit integer. This method does not do partial reads.@return
| MemoryException |
|---|
Read a big-endian 16-bit integer. This method does not do partial reads.@return
| MemoryException |
|---|
Read a little-endian 32-bit integer. This method does not do partial reads.@return
| MemoryException |
|---|
Read a little-endian 32-bit integer using the standard
endianness. This method does not do partial reads.@return
| MemoryException |
|---|
Read a little-endian 32-bit integer. This method does not do partial reads.@return
| MemoryException |
|---|
Read a little-endian 64-bit integer. This method does not do partial reads.@return
| MemoryException |
|---|
Read a little-endian 16-bit integer. This method does not do partial reads.@return
| MemoryException |
|---|
Read a little-endian 64-bit integer. This method does not do partial reads.@return
| MemoryException |
|---|
Read a little-endian 64-bit integer using the standard
endianness. This method does not do partial reads.@return
| MemoryException |
|---|
Read a 16-bit integer. This method does not do partial reads.@return
| MemoryException |
|---|
Read a 16-bit integer using the standard endianness. This
method does not do partial reads.@return
| MemoryException |
|---|
Round an address to the page this address currently resides in, that is the highest page so that boundary ≤ address. This method does not raise, even if the address is invalid for this memory space.
| address | an address |
|---|
Round an address to the lowest page boundary so that address ≤ boundary. This method does not raise, even if the address is invalid for this memory space.
| address | an address or a size |
|---|
Write a big-endian 32-bit integer. This method does not do partial writes.
| MemoryException |
|---|
Write a big-endian 64-bit integer. This method does not do partial writes.
| MemoryException |
|---|
Write a big-endian 16-bit integer. This method does not do partial writes.
| MemoryException |
|---|
Write a little-endian 32-bit integer using the standard
endianness. This method does not do partial writes.
| MemoryException |
|---|
Write a little-endian 32-bit integer. This method does not do partial writes.
| MemoryException |
|---|
Write a little-endian 32-bit integer. This method does not do partial writes.
| MemoryException |
|---|
Write a little-endian 64-bit integer. This method does not do partial writes.
| MemoryException |
|---|
Write a little-endian 16-bit integer. This method does not do partial writes.
| MemoryException |
|---|
Write a little-endian 64-bit integer using the standard
endianness. This method does not do partial writes.
| MemoryException |
|---|
Write a little-endian 64-bit integer. This method does not do partial writes.
| MemoryException |
|---|
Write a 16-bit integer using the standard endianness. This
method does not do partial writes.
| MemoryException |
|---|
Write a 16-bit integer. This method does not do partial writes.
| MemoryException |
|---|