Class ImageBddDynamicRelocation

java.lang.Object
ghidra.app.util.bin.format.pe.dvrt.ImageBddDynamicRelocation
All Implemented Interfaces:
PeMarkupable, StructConverter

public class ImageBddDynamicRelocation extends Object implements StructConverter, PeMarkupable
Represents a IMAGE_BDD_DYNAMIC_RELOCATION structure
  • Constructor Details

    • ImageBddDynamicRelocation

      public ImageBddDynamicRelocation(BinaryReader reader, long rva) throws IOException
      Creates a new ImageBddInfo
      Parameters:
      reader - A BinaryReader that points to the start of the structure
      rva - The relative virtual address of the structure
      Throws:
      IOException - if there was an IO-related error
  • Method Details

    • getLeft

      public int getLeft()
      Returns the index of the FALSE edge in the BDD array.
      Returns:
      the index of the FALSE edge in the BDD array
    • getRight

      public int getRight()
      Returns the index of the TRUE edge in the BDD array.
      Returns:
      the index of the TRUE edge in the BDD array
    • getValue

      public int getValue()
      Returns either the feature number or index in RVAs array.
      Returns:
      either the feature number or index in RVAs array
    • markup

      public void markup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader) throws DuplicateNameException, CodeUnitInsertionException, IOException, MemoryAccessException
      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:
      DuplicateNameException
      CodeUnitInsertionException
      IOException
      MemoryAccessException
    • toDataType

      public DataType toDataType() throws DuplicateNameException, IOException
      Description copied from interface: StructConverter
      Returns 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:
      toDataType in interface StructConverter
      Returns:
      returns a structure datatype representing the implementor of this interface
      Throws:
      DuplicateNameException - when a datatype of the same name already exists
      IOException - if an IO-related error occurs
      See Also: