WindowsSpecifiedHeader

data class WindowsSpecifiedHeader(val magic: PE32Magic, val imageBase: Address64, val sectionAlignment: UInt, val fileAlignment: UInt, val majorOperatingSystemVersion: UShort, val minorOperatingSystemVersion: UShort, val majorImageVersion: UShort, val minorImageVersion: UShort, val majorSubsystemVersion: UShort, val minorSubsystemVersion: UShort, val win32VersionValue: UInt, val sizeOfImage: UInt, val sizeOfHeaders: UInt, val checkSum: UInt, val subsystem: WindowsSubsystems, val dllCharacteristics: DllCharacteristics, val sizeOfStackReserve: ULong, val sizeOfStackCommit: ULong, val sizeOfHeapReserve: ULong, val sizeOfHeapCommit: ULong, val loaderFlags: UInt, val numbersOfRvaAndSizes: Int, val exportTable: DataDirectoryItem, val importTable: DataDirectoryItem, val resourceTable: DataDirectoryItem, val exceptionTable: DataDirectoryItem, val certificateTable: DataDirectoryItem, val baseRelocationTable: DataDirectoryItem, val debug: DataDirectoryItem, val architecture: DataDirectoryItem, val globalPtr: DataDirectoryItem, val tlsTable: DataDirectoryItem, val loadConfigTable: DataDirectoryItem, val boundImport: DataDirectoryItem, val iat: DataDirectoryItem, val delayImportDescriptor: DataDirectoryItem, val clrRuntimeHeader: DataDirectoryItem) : ReadableStructure(source)

Represents the Windows-Specific fields of the Optional Header.

Constructors

Link copied to clipboard
constructor(magic: PE32Magic, imageBase: Address64, sectionAlignment: UInt, fileAlignment: UInt, majorOperatingSystemVersion: UShort, minorOperatingSystemVersion: UShort, majorImageVersion: UShort, minorImageVersion: UShort, majorSubsystemVersion: UShort, minorSubsystemVersion: UShort, win32VersionValue: UInt, sizeOfImage: UInt, sizeOfHeaders: UInt, checkSum: UInt, subsystem: WindowsSubsystems, dllCharacteristics: DllCharacteristics, sizeOfStackReserve: ULong, sizeOfStackCommit: ULong, sizeOfHeapReserve: ULong, sizeOfHeapCommit: ULong, loaderFlags: UInt, numbersOfRvaAndSizes: Int, exportTable: DataDirectoryItem, importTable: DataDirectoryItem, resourceTable: DataDirectoryItem, exceptionTable: DataDirectoryItem, certificateTable: DataDirectoryItem, baseRelocationTable: DataDirectoryItem, debug: DataDirectoryItem, architecture: DataDirectoryItem, globalPtr: DataDirectoryItem, tlsTable: DataDirectoryItem, loadConfigTable: DataDirectoryItem, boundImport: DataDirectoryItem, iat: DataDirectoryItem, delayImportDescriptor: DataDirectoryItem, clrRuntimeHeader: DataDirectoryItem)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Reserved, must be 0.

Link copied to clipboard

The base relocation table address and size. For more information, see The .reloc Section (Image Only).

Link copied to clipboard

The bound import table address and size.

Link copied to clipboard

The attribute certificate table address and size. For more information, see The Attribute Certificate Table (Image Only).

Link copied to clipboard

The image file checksum. The algorithm for computing the checksum is incorporated into IMAGHELP.DLL. The following are checked for validation at load time: all drivers, any DLL loaded at boot time, and any DLL that is loaded into a critical Windows process.

Link copied to clipboard

The CLR runtime header address and size. For more information, see The .cormeta Section (Object Only).

Link copied to clipboard

The debug data starting address and size. For more information, see The .debug Section.

Link copied to clipboard

The delay import descriptor address and size. For more information, see Delay-Load Import Tables (Image Only).

Link copied to clipboard
Link copied to clipboard

The exception table address and size. For more information, see The .pdata Section.

Link copied to clipboard

The export table address and size. For more information see .edata Section (Image Only).

Link copied to clipboard
open override val fields: Map<String, Any>

Get all fields of the structure

Link copied to clipboard

The alignment factor (in bytes) that is used to align the raw data of sections in the image file. The value should be a power of 2 between 512 and 64 K, inclusive. The default is 512. If the SectionAlignment is less than the architecture's page size, then FileAlignment must match SectionAlignment.

Link copied to clipboard

The RVA of the value to be stored in the global pointer register. The size member of this structure must be set to zero.

Link copied to clipboard

The import address table address and size. For more information, see Import Address Table.

Link copied to clipboard

The preferred address of the first byte of image when loaded into memory; must be a multiple of 64 K. The default for DLLs is 0x10000000. The default for Windows CE EXEs is 0x00010000. The default for Windows NT, Windows 2000, Windows XP, Windows 95, Windows 98, and Windows Me is 0x00400000.

Link copied to clipboard

The import table address and size. For more information, see The .idata Section.

Link copied to clipboard

The load configuration table address and size. For more information, see The Load Configuration Structure (Image Only).

Link copied to clipboard

Reserved, must be zero.

Link copied to clipboard

The format of the image file (PE32 or PE32+).

Link copied to clipboard

The major version number of the image.

Link copied to clipboard

The major version number of the required operating system.

Link copied to clipboard

The major version number of the subsystem.

Link copied to clipboard

The minor version number of the image.

Link copied to clipboard

The minor version number of the required operating system.

Link copied to clipboard

The minor version number of the subsystem.

Link copied to clipboard

The number of data-directory entries in the remainder of the optional header. Each describes a location and size.

Link copied to clipboard

The resource table address and size. For more information, see The .rsrc Section.

Link copied to clipboard
Link copied to clipboard

The alignment (in bytes) of sections when they are loaded into memory. It must be greater than or equal to FileAlignment. The default is the page size for the architecture.

Link copied to clipboard

The combined size of an MS-DOS stub, PE header, and section headers rounded up to a multiple of FileAlignment.

Link copied to clipboard

The size of the local heap space to commit.

Link copied to clipboard

The size of the local heap space to reserve. Only SizeOfHeapCommit is committed; the rest is made available one page at a time until the reserve size is reached.

Link copied to clipboard

The size (in bytes) of the image, including all headers, as the image is loaded in memory. It must be a multiple of SectionAlignment.

Link copied to clipboard

The size of the stack to commit.

Link copied to clipboard

The size of the stack to reserve. Only SizeOfStackCommit is committed; the rest is made available one page at a time until the reserve size is reached.

Link copied to clipboard

The subsystem that is required to run this image. For more information, see WindowsSubsystems.

Link copied to clipboard

The thread local storage (TLS) table address and size. For more information, see The .tls Section.

Link copied to clipboard

Reserved, must be zero.

Functions

Link copied to clipboard
fun length(): Int