IMAGE_NT_HEADERS STRUCT

typedef struct _IMAGE_FILE_HEADER 
{
+04hWORD Machine; // 运行平台
+06h WORD NumberOfSections;// 文件的区块数目
+08hDWORD TimeDateStamp;// 文件创建日期和时间
+0Ch DWORD PointerToSymbolTable;// 指向符号表(主要用于调试)
+10h DWORD NumberOfSymbols;// 符号表中符号个数(同上)
+14h WORD SizeOfOptionalHeader;// IMAGE_OPTIONAL_HEADER32 结构大小
+16h WORD Characteristics;// 文件属性
} IMAGE_FILE_HEADER,  *PIMAGE_FILE_HEADER;
该结构如下图所示:

| Value | Meaning | 
|---|---|
  | 
 x86  | 
  | 
 Intel Itanium  | 
  | 
 x64  | 
The characteristics of the image. This member can be one or more of the following values.
| Value | Meaning | 
|---|---|
  | 
 Relocation information was stripped from the file. The file must be loaded at its preferred base address. If the base address is not available, the loader reports an error.  | 
  | 
 The file is executable (there are no unresolved external references).  | 
  | 
 COFF line numbers were stripped from the file.  | 
  | 
 COFF symbol table entries were stripped from file.  | 
  | 
 Aggressively trim the working set. This value is obsolete as of Windows 2000.  | 
  | 
 The application can handle addresses larger than 2 GB.  | 
  | 
 The bytes of the word are reversed. This flag is obsolete.  | 
  | 
 The computer supports 32-bit words.  | 
  | 
 Debugging information was removed and stored separately in another file.  | 
  | 
 If the image is on removable media, copy it to and run it from the swap file.  | 
  | 
 If the image is on the network, copy it to and run it from the swap file.  | 
  | 
 The image is a system file.  | 
  | 
 The image is a DLL file. While it is an executable file, it cannot be run directly.  | 
  | 
 The file should be run only on a uniprocessor computer.  | 
  | 
 The bytes of the word are reversed. This flag is obsolete.  | 
小甲鱼PE详解之IMAGE_NT_HEADERS结构定义即各个属性的作用(PE详解02)
原文:http://www.cnblogs.com/kuangke/p/5392890.html