Class SeparateDebugHeader

  • All Implemented Interfaces:
    OffsetValidator

    public class SeparateDebugHeader
    extends java.lang.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 Detail

      • IMAGE_SEPARATE_DEBUG_SIGNATURE

        public static final int IMAGE_SEPARATE_DEBUG_SIGNATURE
        The magic number for separate debug files.
        See Also:
        Constant Field Values
      • 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:
        Constant Field Values
    • Constructor Detail

      • SeparateDebugHeader

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

      • 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 java.lang.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