Class OptionalHeaderImpl

  • All Implemented Interfaces:
    OptionalHeader, StructConverter

    public class OptionalHeaderImpl
    extends java.lang.Object
    implements OptionalHeader
     typedef struct _IMAGE_OPTIONAL_HEADER {
         WORD    Magic;                                                                     // MANDATORY
         BYTE    MajorLinkerVersion;
         BYTE    MinorLinkerVersion;
         DWORD   SizeOfCode;
         DWORD   SizeOfInitializedData;
         DWORD   SizeOfUninitializedData;
         DWORD   AddressOfEntryPoint;                                               // MANDATORY
         DWORD   BaseOfCode;
         DWORD   BaseOfData;
         DWORD   ImageBase;                                                         // MANDATORY
         DWORD   SectionAlignment;                                          // MANDATORY
         DWORD   FileAlignment;                                                     // MANDATORY
         WORD    MajorOperatingSystemVersion;                               // MANDATORY
         WORD    MinorOperatingSystemVersion;
         WORD    MajorImageVersion;
         WORD    MinorImageVersion;
         WORD    MajorSubsystemVersion;
         WORD    MinorSubsystemVersion;
         DWORD   Win32VersionValue;
         DWORD   SizeOfImage;                                                               // MANDATORY
         DWORD   SizeOfHeaders;                                                     // MANDATORY
         DWORD   CheckSum;
         WORD    Subsystem;                                                         // MANDATORY
         WORD    DllCharacteristics;
         DWORD   SizeOfStackReserve;
         DWORD   SizeOfStackCommit;
         DWORD   SizeOfHeapReserve;
         DWORD   SizeOfHeapCommit;
         DWORD   LoaderFlags;
         DWORD   NumberOfRvaAndSizes;                                               // USED
         IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
     };
     
     typedef struct _IMAGE_OPTIONAL_HEADER64 {
         WORD        Magic;
         BYTE        MajorLinkerVersion;
         BYTE        MinorLinkerVersion;
         DWORD       SizeOfCode;
         DWORD       SizeOfInitializedData;
         DWORD       SizeOfUninitializedData;
         DWORD       AddressOfEntryPoint;
         DWORD       BaseOfCode;
         ULONGLONG   ImageBase;
         DWORD       SectionAlignment;
         DWORD       FileAlignment;
         WORD        MajorOperatingSystemVersion;
         WORD        MinorOperatingSystemVersion;
         WORD        MajorImageVersion;
         WORD        MinorImageVersion;
         WORD        MajorSubsystemVersion;
         WORD        MinorSubsystemVersion;
         DWORD       Win32VersionValue;
         DWORD       SizeOfImage;
         DWORD       SizeOfHeaders;
         DWORD       CheckSum;
         WORD        Subsystem;
         WORD        DllCharacteristics;
         ULONGLONG   SizeOfStackReserve;
         ULONGLONG   SizeOfStackCommit;
         ULONGLONG   SizeOfHeapReserve;
         ULONGLONG   SizeOfHeapCommit;
         DWORD       LoaderFlags;
         DWORD       NumberOfRvaAndSizes;
         IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
     };
     
    • Field Detail

      • magic NEW

        protected short magic
      • majorLinkerVersion NEW

        protected byte majorLinkerVersion
      • minorLinkerVersion NEW

        protected byte minorLinkerVersion
      • sizeOfCode NEW

        protected int sizeOfCode
      • sizeOfInitializedData NEW

        protected int sizeOfInitializedData
      • sizeOfUninitializedData NEW

        protected int sizeOfUninitializedData
      • addressOfEntryPoint NEW

        protected int addressOfEntryPoint
      • baseOfCode NEW

        protected int baseOfCode
      • baseOfData NEW

        protected int baseOfData
      • imageBase NEW

        protected long imageBase
      • sectionAlignment NEW

        protected int sectionAlignment
      • fileAlignment NEW

        protected int fileAlignment
      • majorOperatingSystemVersion NEW

        protected short majorOperatingSystemVersion
      • minorOperatingSystemVersion NEW

        protected short minorOperatingSystemVersion
      • majorImageVersion NEW

        protected short majorImageVersion
      • minorImageVersion NEW

        protected short minorImageVersion
      • majorSubsystemVersion NEW

        protected short majorSubsystemVersion
      • minorSubsystemVersion NEW

        protected short minorSubsystemVersion
      • win32VersionValue NEW

        protected int win32VersionValue
      • sizeOfImage NEW

        protected int sizeOfImage
      • sizeOfHeaders NEW

        protected int sizeOfHeaders
      • checkSum NEW

        protected int checkSum
      • subsystem NEW

        protected short subsystem
      • dllCharacteristics NEW

        protected short dllCharacteristics
      • sizeOfStackReserve NEW

        protected long sizeOfStackReserve
      • sizeOfStackCommit NEW

        protected long sizeOfStackCommit
      • sizeOfHeapReserve NEW

        protected long sizeOfHeapReserve
      • sizeOfHeapCommit NEW

        protected long sizeOfHeapCommit
      • loaderFlags NEW

        protected int loaderFlags
      • numberOfRvaAndSizes NEW

        protected int numberOfRvaAndSizes
      • ntHeader NEW

        protected NTHeader ntHeader
      • startIndex NEW

        protected int startIndex
      • originalImageBase NEW

        protected long originalImageBase
      • wasRebased NEW

        protected boolean wasRebased

Constructor Detail