Class BaseRelocationDataDirectory

java.lang.Object
ghidra.app.util.bin.format.pe.DataDirectory
ghidra.app.util.bin.format.pe.BaseRelocationDataDirectory
All Implemented Interfaces:
ByteArrayConverter, PeMarkupable, StructConverter

public class BaseRelocationDataDirectory extends DataDirectory implements ByteArrayConverter
Points to the base relocation information.
  • Method Details

    • getDirectoryName

      public String getDirectoryName()
      Specified by:
      getDirectoryName in class DataDirectory
    • markup

      public void markup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader) throws CodeUnitInsertionException
      Description copied from interface: PeMarkupable
      Marks up a PE structure.
      Specified by:
      markup in interface PeMarkupable
      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:
      CodeUnitInsertionException
    • parse

      public boolean parse() throws IOException
      Description copied from class: DataDirectory
      Parses this data directory.
      Specified by:
      parse in class DataDirectory
      Returns:
      True if parsing completed successfully; otherwise, false.
      Throws:
      IOException - If there was an IO problem while parsing.
    • getBaseRelocations

      public BaseRelocation[] getBaseRelocations()
      Returns the array of base relocations defined in this base relocation data directory.
      Returns:
      the array of base relocations defined in this base relocation data directory
    • toDataType

      public DataType toDataType() throws DuplicateNameException
      Description copied from class: DataDirectory
      This method should return a datatype representing the data stored in this directory.
      Specified by:
      toDataType in interface StructConverter
      Specified by:
      toDataType in class DataDirectory
      Returns:
      returns a structure datatype representing the implementor of this interface
      Throws:
      DuplicateNameException - when a datatype of the same name already exists
      See Also:
    • removeAllRelocations

      public void removeAllRelocations()
      Removes all base relocations from this base relocation directory.
    • createBaseRelocation

      public BaseRelocation createBaseRelocation(int va)
      Create a new base relocation using the specified virtual address.
      Parameters:
      va - the virtual address of the new base relocation
      Returns:
      the new base relocation
    • addBaseRelocation

      public void addBaseRelocation(BaseRelocation reloc)
      Adds the specified base relocation.
      Parameters:
      reloc - the new base relocation
    • toBytes

      public byte[] toBytes(DataConverter dc)
      Description copied from interface: ByteArrayConverter
      Returns a byte array representing this implementor of this interface.
      Specified by:
      toBytes in interface ByteArrayConverter
      Parameters:
      dc - the data converter to use
      Returns:
      a byte array representing this object
      See Also: