Class SeparateDebugHeader

java.lang.Object
ghidra.app.util.bin.format.pe.SeparateDebugHeader
All Implemented Interfaces:
OffsetValidator

public class SeparateDebugHeader extends Object implements OffsetValidator
 typedef struct _IMAGE_SEPARATE_DEBUG_HEADER {
     WORD        Signature;
     WORD        Flags;
     WORD        Machine;
     WORD        Characteristics;
     DWORD       TimeDateStamp;
     DWORD       CheckSum;
     DWORD       ImageBase;
     DWORD       SizeOfImage;
     DWORD       NumberOfSections;
     DWORD       ExportedNamesSize;
     DWORD       DebugDirectorySize;
     DWORD       SectionAlignment;
     DWORD       Reserved[2];
 } IMAGE_SEPARATE_DEBUG_HEADER, *PIMAGE_SEPARATE_DEBUG_HEADER;
 
  • Field Details

    • IMAGE_SEPARATE_DEBUG_SIGNATURE

      public static final int IMAGE_SEPARATE_DEBUG_SIGNATURE
      The magic number for separate debug files.
      See Also:
    • IMAGE_SEPARATE_DEBUG_SIGNATURE_MAC

      public static final int IMAGE_SEPARATE_DEBUG_SIGNATURE_MAC
      The magic number for separate debug files on MAC.
      See Also:
  • Constructor Details

    • SeparateDebugHeader

      public SeparateDebugHeader(ByteProvider bp) throws IOException
      Constructs a new separate debug header using the specified byte provider.
      Parameters:
      bp - the byte provider
      Throws:
      IOException - if an I/O error occurs.
  • Method Details

    • getCharacteristics

      public short getCharacteristics()
      Returns the characteristics.
      Returns:
      the characteristics
    • getCheckSum

      public int getCheckSum()
      Returns the check sum.
      Returns:
      the check sum
    • getDebugDirectorySize

      public int getDebugDirectorySize()
      Returns the debug directory size.
      Returns:
      the debug directory size
    • getExportedNamesSize

      public int getExportedNamesSize()
      Returns the exported names size.
      Returns:
      the exported names size
    • getFlags

      public short getFlags()
      Returns the flags.
      Returns:
      the flags
    • getImageBase

      public int getImageBase()
      Returns the image base.
      Returns:
      the image base
    • getMachine

      public short getMachine()
      Returns the machine type (or processor).
      Returns:
      the machine type
    • getMachineName

      public String getMachineName()
      Returns the machine name (or processor name).
      Returns:
      the machine name
    • getNumberOfSections

      public int getNumberOfSections()
      Returns the number of sections.
      Returns:
      the number of sections
    • getReserved

      public int[] getReserved()
      Returns the reserved int array.
      Returns:
      the reserved int array
    • getSectionAlignment

      public int getSectionAlignment()
      Returns the section alignment value.
      Returns:
      the section alignment value
    • getSignature

      public short getSignature()
      Returns the signature (or magic number).
      Returns:
      the signature
    • getSizeOfImage

      public int getSizeOfImage()
      Returns the size of the image.
      Returns:
      the size of the image
    • getTimeDateStamp

      public int getTimeDateStamp()
      Returns the time date stamp.
      Returns:
      the time date stamp
    • getParser

      public DebugDirectoryParser getParser()
      Returns the debug directory parser.
      Returns:
      the debug directory parser
    • checkPointer

      public boolean checkPointer(long ptr)
      Specified by:
      checkPointer in interface OffsetValidator
    • checkRVA

      public boolean checkRVA(long rva)
      Specified by:
      checkRVA in interface OffsetValidator