AnoDansSigNotFound is reported when rich header signature was found, but.
AnoPaddingDwordNotZero is repoted when rich header signature leading padding DWORDs are not equal to 0.
The current assembly descriptor, which should appear only in the prime module metadata.
This table is unused.
This table is unused.
Assembly reference descriptors.
This table is unused.
This table is unused.
Heaps Streams Bit Positions.
Class layout descriptors that hold information about how the loader should lay out respective classes.
This flag is obsolete and should not be set.
The image file can be loaded into any process, but preferably into a 32-bit process.
The image file can be loaded only into a 32-bit process.
The image file contains IL code only, with no embedded native unmanaged code except the start-up stub (which simply executes an indirect jump to the CLR entry point).
The executable’s entry point is an unmanaged method.
The image file is protected with a strong name signature.
The CLR loader and the JIT compiler are required to track debug information about the methods.
Constant value descriptors that map the default values stored in the #Blob stream to respective fields, parameters, and properties.
V-table slots are 32-bits in size.
V-table slots are 64-bits in size.
Call most derived method described by.
The thunk created by the common language runtime must provide data marshaling between managed and unmanaged code.
The thunk created by the common language runtime must provide data marshaling between managed and unmanaged code.
Custom attribute descriptors.
CVSignatureNB10 represents the CodeView signature 'NB10'.
CVSignatureRSDS represents the CodeView signature 'SDSR'.
DansSignature ('DanS' as dword) is where the rich header struct starts.
Security descriptors.
Edit-and-continue log descriptors that hold information about what changes have been made to specific metadata items during in-memory editing.
Edit-and-continue mapping descriptors.
Event descriptors.
A class-to-events mapping table.
An event map–to–events lookup table, which does not exist in optimized metadata (#~ stream).
Exported type descriptors that contain information about public classes exported by the current assembly, which are declared in other modules of the assembly.
Field definition descriptors.
Field layout descriptors that specify the offset or ordinal of individual fields.
Field or parameter marshaling descriptors for managed/unmanaged interoperations.
A class-to-fields lookup table, which does not exist in optimized metadata (#~ stream).
Field-to-data mapping descriptors.
FileAlignmentHardcodedValue represents the value which PointerToRawData should be at least equal or bigger to, or it will be rounded to zero.
File descriptors that contain information about other files in the current assembly.
FrameFPO indicates a frame of type FPO.
FrameNonFPO indicates a frame of type Non-FPO.
FrameTrap indicates a frame of type Trap.
FrameTSS indicates a frame of type TSS.
Type parameter descriptors for generic (parameterized) classes and methods.
Descriptors of constraints specified for type parameters of generic classes and methods.
Heaps Streams Bit Positions.
Reserved for Borland.
Reserved.
The Visual C++ debug information.
The COFF debug information (line numbers, symbol table, and string table).
A copy of .pdata section.
Extended DLL characteristics bits.
Reserved.
The frame pointer omission (FPO) information.
Incremental Link Time Code Generation (iLTCG).
The location of DBG file.
Intel MPX.
The mapping from an RVA in source image to an RVA in image.
The mapping from an RVA in image to an RVA in source image.
Pogo aka PGO aka Profile Guided Optimization.
PE determinism or reproducibility.
Reserved.
An unknown value that is ignored by all tools.
Visual C++ features (/GS counts /sdl counts and guardN counts).
Architecture Specific Data.
Base Relocation Table.
The bound import table.
Certificate Directory.
CLR Runtime Header.
Debug.
Delay Import Descriptor.
Exception Table.
Export Table.
The RVA of the value to be stored in the global pointer register.
Import Address Table.
Import Table.
The load configuration table.
Must be zero.
Resource Table.
The thread local storage (TLS) table.
Image must execute in an AppContainer.
DLL can be relocated at load time.
ImageDllCharacteristicsExCETCompat indicates that the image is CET compatible.
Code Integrity checks are enforced.
Image supports Control Flow Guard.
Image can handle a high entropy 64-bit virtual address space.
Do not bind the image.
Isolation aware, but do not isolate the image.
Does not use structured exception (SE) handling.
Image is NX compatible.
Reserved, must be zero.
Reserved, must be zero.
Reserved, must be zero.
Reserved, must be zero.
Terminal Server aware.
A WDM driver.
MZ.
ZM.
No description provided by the author
No description provided by the author
ImageEnclaveImportMatchAuthorId indicates that the value of the enclave author identifier of the image must match the value in the import record.
ImageEnclaveImportMatchFamilyId indicates that the value of the enclave family identifier of the image must match the value in the import record.
ImageEnclaveImportMatchImageId indicates that the value of the enclave image identifier must match the value in the import record.
ImageEnclaveImportMatchNone indicates that none of the identifiers of the image need to match the value in the import record.
ImageEnclaveImportMatchUniqueId indicates that the value of the enclave unique identifier of the image must match the value in the import record.
No description provided by the author
No description provided by the author
Machine is based on 32-bit architecture.
Aggressively trim the working set.
Big endian.
Little endian.
Debug information has been removed from the image file.
The image file is a DLL rather than an EXE.
Flag indicates that the file is an image file (EXE or DLL).
Application can handle addresses beyond the 2GB range.
COFF line numbers have been removed.
COFF symbol table entries for local symbols have been removed.
Matsushita AM33.
x64.
ARM little endian.
ARM64 little endian.
ARM Thumb-2 little endian.
EFI byte code.
Intel 386 or later processors and compatible processors.
Intel Itanium processor family.
Mitsubishi M32R little endian.
MIPS16.
MIPS with FPU.
MIPS16 with FPU.
Power PC little endian.
Power PC with floating point support.
MIPS little endian.
RISC-V 128-bit address space.
RISC-V 32-bit address space.
RISC-V 64-bit address space.
Hitachi SH3.
Hitachi SH3 DSP.
Hitachi SH4.
Hitachi SH5.
Thumb.
The contents of this field are assumed to be applicable to any machine type.
MIPS little-endian WCE v2.
If the image file is on a network, copy and run it from the swap file.
Image file only.
If the image file is on removable media, copy and run it from the swap file.
The image file is a system file (for example, a device driver).
The image file should be run on a uniprocessor machine only.
ImageGuardCfEnableExportSuppression indicates that the module enables suppression of exports.
ImageGuardCfExportSuppressionInfoPresent indicates that the module contains suppressed export information.
ImageGuardCfFnctionTableSizeMask indicates that the mask for the subfield that contains the stride of Control Flow Guard function table entries (that is, the additional count of bytes per table entry).
ImageGuardCfFnctionTableSizeShift indicates the shift to right-justify Guard CF function table stride.
ImageGuardCfFunctionTablePresent indicates that the module contains valid control flow target metadata.
ImageGuardCfInstrumented indicates that the module performs control flow integrity checks using system-supplied support.
ImageGuardCfLongjumpTablePresent indicates that the module contains longjmp target information.
ImageGuardCfWInstrumented indicates that the module performs control flow and write integrity checks.
ImageGuardDelayloadIATInItsOwnSection indicates that the Delayload import table in its own .didat section (with nothing else in it) that can be freely reprotected.
ImageGuardFlagExportSupressed indicates that the call target is export suppressed.
ImageGuardFlagFIDSupressed indicates that the call target is explicitly suppressed (do not treat it as valid for purposes of CFG).
ImageGuardProtectDelayloadIAT indicates that the module supports read only delay load IAT.
ImageGuardSecurityCookieUnused indicates that the module does not make use of the /GS security cookie.
Optional Header magic.
Optional Header magic.
PE00.
Tables count.
Linear Executable is an executable file format in the EXE family.
The New Executable (abbreviated NE or NewEXE) is a 16-bit .exe file format, a successor to the DOS MZ executable format.
The base relocation is skipped.
This relocation is meaningful only when the machine type is ARM or Thumb.
The base relocation applies the difference to the 64-bit field at offset.
The base relocation adds the high 16 bits of the difference to the 16-bit field at offset.
The base relocation adds the high 16 bits of the difference to the 16-bit field at offset.
The base relocation applies all 32 bits of the difference to the 32-bit field at offset.
The base relocation adds the low 16 bits of the difference to the 16-bit field at offset.
The relocation interpretation is dependent on the machine type.
The relocation is only meaningful when the machine type is MIPS.
This relocation is only meaningful when the machine type is RISC-V.
This relocation is only meaningful when the machine type is RISC-V.
This relocation is only meaningful when the machine type is RISC-V.
This relocation is meaningful only when the machine type is Thumb.
Reserved, must be zero.
Optional Header magic.
ImageScnAlign1024Bytes indicates to align data on a 1024-byte boundary.
ImageScnAlign128Bytes indicates to align data on a 128-byte boundary.
ImageScnAlign16Bytes indicates to align data on a 16-byte boundary.
ImageScnAlign1Bytes indicates to align data on a 1-byte boundary.
ImageScnAlign2048Bytes indicates to align data on a 2048-byte boundary.
ImageScnAlign256Bytes indicates to align data on a 256-byte boundary.
ImageScnAlign2Bytes indicates to align data on a 2-byte boundary.
ImageScnAlign32Bytes indicates to align data on a 32-byte boundary.
ImageScnAlign4096Bytes indicates to align data on a 4096-byte boundary.
ImageScnAlign4Bytes indicates to align data on a 4-byte boundary.
ImageScnAlign512Bytes indicates to align data on a 512-byte boundary.
ImageScnAlign64Bytes indicates to align data on a 64-byte boundary.
ImageScnAlign8192Bytes indicates to align data on a 8192-byte boundary.
ImageScnAlign8Bytes indicates to align data on a 8-byte boundary.
ImageScnCntCode indicates the section contains executable code.
ImageScnCntInitializedData indicates the section contains initialized data.
ImageScnCntUninitializedData indicates the section contains uninitialized data.
ImageScnGpRel indicates the section contains data referenced through the global pointer (GP).
ImageScnLnkComdat indicates the section contains COMDAT data.
ImageScnLnkInfo indicates the section contains comments or other information.
ImageScnLnkMRelocOvfl indicates the section contains extended relocations.
ImageScnLnkOther is reserved for future use.
ImageScnLnkRemove indicates the section will not become part of the image This is valid only for object files.
ImageScnMem16Bit is reserved for future use.
ImageScnMemDiscardable indicates the section can be discarded as needed.
ImageScnMemExecute indicates the section can be executed as code.
ImageScnMemLocked is reserved for future use.
ImageScnMemNotCached indicates the section cannot be cached.
ImageScnMemNotPaged indicates the section is not pageable.
ImageScnMemPreload is reserved for future use.
ImageScnMemPurgeable is reserved for future use.
ImageScnMemRead indicates the section can be read.
ImageScnMemShared indicates the section can be shared in memory.
ImageScnMemWrite indicates the section can be written to.
ImageScnReserved1 for future use.
ImageScnReserved2 for future use.
ImageScnReserved3 for future use.
ImageScnReserved4 for future use.
ImageScnReserved5 for future use.
ImageScnReserved6 for future use.
ImageScnTypeNoPad indicates the section should not be padded to the next boundary.
An Extensible Firmware Interface (EFI) application.
An EFI driver with boot services.
An EFI ROM image .
An EFI driver with run-time services.
Device drivers and native Windows processes.
Native Win9x driver.
The OS/2 character subsystem.
The Posix character subsystem.
An unknown subsystem.
Windows boot application.
Windows CE.
The Windows character subsystem.
The Windows graphical user interface (GUI) subsystem.
XBOX.
ImageSymAbsolute indicates that the symbol has an absolute (non-relocatable) value and is not an address.
ImageSymClassArgument indicates a formal argument (parameter) of a function.
ImageSymClassAutomatic indicates automatic (stack) variable.
ImageSymClassBitField indicates a bit-field reference.
ImageSymClassBlock indicates a .bb (beginning of block) or .eb (end of block) record.
ImageSymClassClrToken indicates a CLR token symbol.
ImageSymClassEndOfFunction indicates a special symbol that represents the end of function, for debugging purposes.
ImageSymClassEndOfStruct indicates an end-of-structure entry.
ImageSymClassEnumTag indicates an enumerated type tagname entry.
ImageSymClassExternal indicates a value that Microsoft tools use for external symbols.
ImageSymClassExternalDef indicates a symbol that is defined externally.
ImageSymClassFile indicates a value that Microsoft tools, as well as traditional COFF format, use for the source-file symbol record.
ImageSymClassFunction indicates a value that Microsoft tools use for symbol records that define the extent of a function: begin function (.bf ), end function ( .ef ), and lines in function ( .lf ).
ImageSymClassLabel indicates a code label that is defined within the module.
ImageSymClassMemberOfEnum indicates a member of an enumeration.
ImageSymClassMemberOfStruct indicates the structure member.
ImageSymClassMemberOfUnion indicates a union member.
ImageSymClassNull indicates no assigned storage class.
ImageSymClassRegister indicates a register variable.
ImageSymClassRegisterParam indicates a register parameter.
ImageSymClassSsection indicates a definition of a section (Microsoft tools use STATIC storage class instead).
ImageSymClassStatic indicates the offset of the symbol within the section.
ImageSymClassStructTag indicates the structure tag-name entry.
ImageSymClassTypeDefinition indicates a typedef entry.
ImageSymClassUndefinedLabel indicates a reference to a code label that is not defined.
ImageSymClassUndefinedStatic indicates a static data declaration.
ImageSymClassUnionTag indicates the structure tag-name entry.
ImageSymClassWeakExternal indicates a weak external.
ImageSymDebug indicates that the symbol provides general type or debugging information but does not correspond to a section.
ImageSymTypeByte indicates a byte; unsigned 1-byte integer.
ImageSymTypeChar indicates a character (signed byte).
ImageSymTypeDouble indicates an 8-byte floating-point number.
ImageSymTypeDword indicates an unsigned 4-byte integer.
ImageSymTypeEnum indicates an enumerated type.
ImageSymTypeFloat indicates a 4-byte floating-point number.
ImageSymTypeInt indicates a natural integer type (normally 4 bytes in Windows).
ImageSymTypeLong indicates a 4-byte signed integer.
ImageSymTypeMoe A member of enumeration (a specific value).
ImageSymTypeNull indicates no type information or unknown base type.
ImageSymTypeShort indicates a 2-byte signed integer.
ImageSymTypeStruct indicates a structure.
ImageSymTypeUint indicates an unsigned integer of natural size (normally, 4 bytes).
ImageSymTypeUnion indicates a union.
ImageSymTypeVoid indicates no type no valid type; used with void pointers and functions.
ImageSymTypeWord indicates a word; unsigned 2-byte integer.
ImageSymUndefined indicates that the symbol record is not yet assigned a section.
Terse Executables have a 'VZ' signature.
There are two main varieties of LE executables: LX (32-bit), and LE (mixed 16/32-bit).
Implementation map descriptors used for the platform invocation (P/Invoke) type of managed/unmanaged code interoperation.
Interface implementation descriptors.
Managed resource descriptors.
MaxStringLength represents the maximum length of a string to be retrieved from the file.
Member (field or method) reference descriptors.
Method definition descriptors.
Method implementation descriptors.
A class-to-methods lookup table, which does not exist in optimized metadata (#~ stream).
Method semantics descriptors that hold information about which method is associated with a specific property or event and in what capacity.
Generic method instantiation descriptors.
The current module descriptor.
Module reference descriptors.
Nested class descriptors that provide mapping of nested classes to their respective enclosing classes.
Parameter definition descriptors.
A method-to-parameters lookup table, which does not exist in optimized metadata (#~ stream).
POGOTypeLTCG represents a signature for an undocumented PGO sub type.
POGOTypePGO represents a signature for an undocumented PGO sub type.
POGOTypePGU represents a signature for an undocumented PGO sub type.
POGzOTypePGI represents a signature for an undocumented PGO sub type.
Property descriptors.
A class-to-properties mapping table.
A property map–to–properties lookup table, which does not exist in optimized metadata (#~ stream).
RichSignature ('0x68636952' as dword) is where the rich header struct ends.
Stand-alone signature descriptors.
Heaps Streams Bit Positions.
TinyPESize On Windows XP (x32) the smallest PE executable is 97 bytes.
Class or interface definition descriptors.
Class reference descriptors.
Type specification descriptors.
UnwFlagChainInfo - This unwind info structure is not the primary one for the procedure.
UnwFlagEHandler - The function has an exception handler that should be called when looking for functions that need to examine exceptions.
UnwFlagNHandler - The function has no handler.
UnwFlagUHandler - The function has a termination handler that should be called when unwinding an exception.
Allocate a large-sized area on the stack.
Allocate a small-sized area on the stack.
For version 1 of the UNWIND_INFO structure, this code was called UWOP_SAVE_XMM and occupied 2 records, it retained the lower 64 bits of the XMM register, but was later removed and is now skipped.
Push a machine frame.
Push a nonvolatile integer register, decrementing RSP by 8.
Save a nonvolatile integer register on the stack using a MOV instead of a PUSH.
Save a nonvolatile integer register on the stack with a long offset, using a MOV instead of a PUSH.
Save all 128 bits of a nonvolatile XMM register on the stack.
Save all 128 bits of a nonvolatile XMM register on the stack with a long offset.
Establish the frame pointer register by setting the register to some offset of the current RSP.
UWOP_SET_FPREG_LARGE is a CLR Unix-only extension to the Windows AMD64 unwind codes.
For version 1 of the UNWIND_INFO structure, this code was called UWOP_SAVE_XMM_FAR and occupied 3 records, it saved the lower 64 bits of the XMM register, but was later removed and is now skipped.
WinCertRevision1_0 represents the WIN_CERT_REVISION_1_0 Version 1, legacy version of the Win_Certificate structure.
WinCertRevision2_0 represents the WIN_CERT_REVISION_2_0.
Certificate contains a PKCS#7 SignedData structure.
Reserved.
Terminal Server Protocol Stack Certificate signing (Not Supported).
Certificate contains an X.509 Certificate (Not Supported).