Interface WindowsPeOptionalHeaderObj

All Superinterfaces:
GenericValidation, SdoDefaultValidator, Serializable, StixCustomProperties
All Known Implementing Classes:
WindowsPeOptionalHeader

@Immutable @BusinessRule(ifExp="true", thenExp="getMagicHex().isPresent() == true || getMajorLinkerVersion().isPresent() == true || getMinorLinkerVersion().isPresent() == true || getSizeOfCode().isPresent() == true || getSizeOfInitializedData().isPresent() == true || getSizeOfUninitializedData().isPresent() == true || getAddressOfEntryPoint().isPresent() == true || getBaseOfCode().isPresent() == true || getBaseOfData().isPresent() == true || getImageBase().isPresent() == true || getSectionAlignment().isPresent() == true || getFileAlignment().isPresent() == true || getMajorOsVersion().isPresent() == true || getMinorOsVersion().isPresent() == true || getMajorImageVersion().isPresent() == true || getMinorImageVersion().isPresent() == true || getMajorSubsystemVersion().isPresent() == true || getMinorSubsystemVersion().isPresent() == true || getWin32VersionValueHex().isPresent() == true || getSizeOfImage().isPresent() == true || getSizeOfHeaders().isPresent() == true || getChecksumHex().isPresent() == true || getSubsystemHex().isPresent() == true || getDllCharacteristicsHex().isPresent() == true || getSizeOfStackReserve().isPresent() == true || getSizeOfStackCommit().isPresent() == true || getSizeOfHeapReserve().isPresent() == true || getSizeOfHeapCommit().isPresent() == true || getLoaderFlagsHex().isPresent() == true || getNumberOfRvaAndSizes().isPresent() == true || getHashes().isEmpty() == true", errorMessage="At least 1 field must be used in Windows Pe Extension Optional Header Object.") public interface WindowsPeOptionalHeaderObj extends GenericValidation, StixCustomProperties, Serializable
The Windows PE Optional Header type represents the properties of the PE optional header.
  • Method Details

    • getMagicHex

      @JsonPropertyDescription("Specifies the unsigned Optional<Integer> that indicates the type of the PE binary.") Optional<@Pattern(regexp="^([a-fA-F0-9]{2})+$") String> getMagicHex()
    • getMajorLinkerVersion

      @JsonPropertyDescription("Specifies the linker major version number.") Optional<Long> getMajorLinkerVersion()
    • getMinorLinkerVersion

      @JsonPropertyDescription("Specifies the linker minor version number.") Optional<Long> getMinorLinkerVersion()
    • getSizeOfCode

      @JsonPropertyDescription("Specifies the size of the code (text) section. If there are multiple such sections, this refers to the sum of the sizes of each section.") Optional<@PositiveOrZero Long> getSizeOfCode()
    • getSizeOfInitializedData

      @JsonPropertyDescription("Specifies the size of the initialized data section. If there are multiple such sections, this refers to the sum of the sizes of each section.") Optional<@PositiveOrZero Long> getSizeOfInitializedData()
    • getSizeOfUninitializedData

      @JsonPropertyDescription("Specifies the size of the uninitialized data section. If there are multiple such sections, this refers to the sum of the sizes of each section.") Optional<@PositiveOrZero Long> getSizeOfUninitializedData()
    • getAddressOfEntryPoint

      @JsonPropertyDescription("Specifies the address of the entry point relative to the image base when the executable is loaded into memory.") Optional<Long> getAddressOfEntryPoint()
    • getBaseOfCode

      @JsonPropertyDescription("Specifies the address that is relative to the image base of the beginning-of-code section when it is loaded into memory.") Optional<Long> getBaseOfCode()
    • getBaseOfData

      @JsonPropertyDescription("Specifies the address that is relative to the image base of the beginning-of-data section when it is loaded into memory.") Optional<Long> getBaseOfData()
    • getImageBase

      @JsonPropertyDescription("Specifies the preferred address of the first byte of the image when loaded into memory.") Optional<Long> getImageBase()
    • getSectionAlignment

      @JsonPropertyDescription("Specifies the alignment (in bytes) of PE sections when they are loaded into memory.") Optional<Long> getSectionAlignment()
    • getFileAlignment

      @JsonPropertyDescription("Specifies the factor (in bytes) that is used to align the raw data of sections in the image file.") Optional<Long> getFileAlignment()
    • getMajorOsVersion

      @JsonPropertyDescription("Specifies the major version number of the required operating system.") Optional<Long> getMajorOsVersion()
    • getMinorOsVersion

      @JsonPropertyDescription("Specifies the minor version number of the required operating system.") Optional<Long> getMinorOsVersion()
    • getMajorImageVersion

      @JsonPropertyDescription("Specifies the major version number of the image.") Optional<Long> getMajorImageVersion()
    • getMinorImageVersion

      @JsonPropertyDescription("Specifies the minor version number of the image.") Optional<Long> getMinorImageVersion()
    • getMajorSubsystemVersion

      @JsonPropertyDescription("Specifies the major version number of the subsystem.") Optional<Long> getMajorSubsystemVersion()
    • getMinorSubsystemVersion

      @JsonPropertyDescription("Specifies the minor version number of the subsystem.") Optional<Long> getMinorSubsystemVersion()
    • getWin32VersionValueHex

      @JsonPropertyDescription("Specifies the reserved win32 version value.") Optional<@Pattern(regexp="^([a-fA-F0-9]{2})+$") String> getWin32VersionValueHex()
    • getSizeOfImage

      @JsonPropertyDescription("Specifies the size, in bytes, of the image, including all headers, as the image is loaded in memory.") Optional<@PositiveOrZero Long> getSizeOfImage()
    • getSizeOfHeaders

      @JsonPropertyDescription("Specifies the combined size of the MS-DOS, PE header, and section headers, rounded up a multiple of the value specified in the file_alignment header.") Optional<@PositiveOrZero Long> getSizeOfHeaders()
    • getChecksumHex

      @JsonPropertyDescription("Specifies the checksum of the PE binary.") Optional<@Pattern(regexp="^([a-fA-F0-9]{2})+$") String> getChecksumHex()
    • getSubsystemHex

      @JsonPropertyDescription("Specifies the subsystem (e.g., GUI, device driver, etc.) that is required to run this image.") Optional<@Pattern(regexp="^([a-fA-F0-9]{2})+$") String> getSubsystemHex()
    • getDllCharacteristicsHex

      @JsonPropertyDescription("Specifies the flags that characterize the PE binary.") Optional<@Pattern(regexp="^([a-fA-F0-9]{2})+$") String> getDllCharacteristicsHex()
    • getSizeOfStackReserve

      @JsonPropertyDescription("Specifies the size of the stack to reserve") Optional<@PositiveOrZero Long> getSizeOfStackReserve()
    • getSizeOfStackCommit

      @JsonPropertyDescription("Specifies the size of the stack to commit.") Optional<@PositiveOrZero Long> getSizeOfStackCommit()
    • getSizeOfHeapReserve

      @JsonPropertyDescription("Specifies the size of the local heap space to reserve.") Optional<@PositiveOrZero Long> getSizeOfHeapReserve()
    • getSizeOfHeapCommit

      @JsonPropertyDescription("Specifies the size of the local heap space to commit.") Optional<@PositiveOrZero Long> getSizeOfHeapCommit()
    • getLoaderFlagsHex

      @JsonPropertyDescription("Specifies the reserved loader flags.") Optional<@Pattern(regexp="^([a-fA-F0-9]{2})+$") String> getLoaderFlagsHex()
    • getNumberOfRvaAndSizes

      @JsonPropertyDescription("Specifies the number of data-directory entries in the remainder of the optional header.") Optional<Long> getNumberOfRvaAndSizes()
    • getHashes

      @JsonPropertyDescription("Specifies any hashes that were computed for the optional header.") Map<@Length(min=3,max=256) @HashingVocab(HashingAlgorithms.class) String,String> getHashes()