Class ImageFunctionOverrideDynamicRelocation
java.lang.Object
ghidra.app.util.bin.format.pe.dvrt.ImageFunctionOverrideDynamicRelocation
- All Implemented Interfaces:
PeMarkupable, StructConverter
public class ImageFunctionOverrideDynamicRelocation
extends Object
implements StructConverter, PeMarkupable
Represents a
IMAGE_FUNCTION_OVERRIDE_DYNAMIC_RELOCATION structure-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionImageFunctionOverrideDynamicRelocation(BinaryReader reader, long rva) Creates a newImageFunctionOverrideDynamicRelocation -
Method Summary
Modifier and TypeMethodDescriptionReturns theListofBaseRelocations.intReturns the size in bytes taken by BaseRelocs.intReturns the offset into the BDD region.intReturns the relative virtual address of the original function.intReturns the size in bytes taken by relative virtual addresses.voidmarkup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader) Marks up a PE structure.Returns a structure datatype representing the contents of the implementor of this interface.
-
Constructor Details
-
ImageFunctionOverrideDynamicRelocation
Creates a newImageFunctionOverrideDynamicRelocation- Parameters:
reader- ABinaryReaderthat points to the start of the structurerva- The relative virtual address of the structure- Throws:
IOException- if there was an IO-related error
-
-
Method Details
-
getOriginalRva
public int getOriginalRva()Returns the relative virtual address of the original function.- Returns:
- the relative virtual address of the original function
-
getBddOffset
public int getBddOffset()Returns the offset into the BDD region.- Returns:
- the offset into the BDD region
-
getRvaSize
public int getRvaSize()Returns the size in bytes taken by relative virtual addresses.- Returns:
- the size in bytes taken by relative virtual addresses
-
getBaseRelocSize
public int getBaseRelocSize()Returns the size in bytes taken by BaseRelocs.- Returns:
- the size in bytes taken by BaseRelocs
-
getBaseRelocs
Returns theListofBaseRelocations.- Returns:
- the
ListofBaseRelocations
-
markup
public void markup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader) throws DuplicateNameException, CodeUnitInsertionException, IOException, MemoryAccessException Description copied from interface:PeMarkupableMarks up a PE structure.- Specified by:
markupin interfacePeMarkupable- Parameters:
program- The program to markup.isBinary- True if the program is binary; otherwise, false.monitor- The monitor.log- The log.ntHeader- The PE's NT Header structure.- Throws:
DuplicateNameExceptionCodeUnitInsertionExceptionIOExceptionMemoryAccessException
-
toDataType
Description copied from interface:StructConverterReturns a structure datatype representing the contents of the implementor of this interface.For example, given:
class A { int foo; double bar; }The return value should be a structure data type with two data type components; an INT and a DOUBLE. The structure should contain field names and, if possible, field comments.
- Specified by:
toDataTypein interfaceStructConverter- Returns:
- returns a structure datatype representing the implementor of this interface
- Throws:
DuplicateNameException- when a datatype of the same name already existsIOException- if an IO-related error occurs- See Also:
-