3#define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x010b
4#define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x020b
6#define IMAGE_DOS_MAGIC 0x5a4d
7#define IMAGE_PE_MAGIC 0x00004550
8#define IMAGE_SIZEOF_SHORT_NAME 8
10#define IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004
11#define IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008
12#define IMAGE_FILE_DEBUG_STRIPPED 0x0200
14#define IMAGE_FILE_MACHINE_I386 0x14c
15#define IMAGE_FILE_MACHINE_AMD64 0x8664
16#define IMAGE_FILE_MACHINE_IA64 0x0200
18#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5
20#define IMAGE_SCN_TYPE_NOLOAD 0x00000002
21#define IMAGE_SCN_TYPE_NO_PAD 0x00000008
22#define IMAGE_SCN_CNT_CODE 0x00000020
23#define IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040
24#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x00000080
25#define IMAGE_SCN_LNK_OTHER 0x00000100
26#define IMAGE_SCN_LNK_INFO 0x00000200
27#define IMAGE_SCN_LNK_REMOVE 0x00000800
28#define IMAGE_SCN_NO_DEFER_SPEC_EXC 0x00004000
29#define IMAGE_SCN_GPREL 0x00008000
30#define IMAGE_SCN_MEM_PURGEABLE 0x00020000
31#define IMAGE_SCN_MEM_LOCKED 0x00040000
32#define IMAGE_SCN_MEM_PRELOAD 0x00080000
33#define IMAGE_SCN_LNK_NRELOC_OVFL 0x01000000
34#define IMAGE_SCN_MEM_DISCARDABLE 0x02000000
35#define IMAGE_SCN_MEM_NOT_CACHED 0x04000000
36#define IMAGE_SCN_MEM_NOT_PAGED 0x08000000
37#define IMAGE_SCN_MEM_SHARED 0x10000000
38#define IMAGE_SCN_MEM_EXECUTE 0x20000000
39#define IMAGE_SCN_MEM_READ 0x40000000
40#define IMAGE_SCN_MEM_WRITE 0x80000000
42#define IMAGE_SCN_ALIGN_1BYTES 0x00100000
43#define IMAGE_SCN_ALIGN_2BYTES 0x00200000
44#define IMAGE_SCN_ALIGN_4BYTES 0x00300000
45#define IMAGE_SCN_ALIGN_8BYTES 0x00400000
46#define IMAGE_SCN_ALIGN_16BYTES 0x00500000
47#define IMAGE_SCN_ALIGN_32BYTES 0x00600000
48#define IMAGE_SCN_ALIGN_64BYTES 0x00700000
49#define IMAGE_SCN_ALIGN_128BYTES 0x00800000
50#define IMAGE_SCN_ALIGN_256BYTES 0x00900000
51#define IMAGE_SCN_ALIGN_512BYTES 0x00A00000
52#define IMAGE_SCN_ALIGN_1024BYTES 0x00B00000
53#define IMAGE_SCN_ALIGN_2048BYTES 0x00C00000
54#define IMAGE_SCN_ALIGN_4096BYTES 0x00D00000
55#define IMAGE_SCN_ALIGN_8192BYTES 0x00E00000
56#define IMAGE_SCN_ALIGN_MASK 0x00F00000
58#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
60#define IMAGE_REL_I386_ABSOLUTE 0x0001
61#define IMAGE_REL_I386_REL16 0x0002
62#define IMAGE_REL_I386_DIR32 0x0006
65#ifndef __GNU_EXTENSION
67 #define __GNU_EXTENSION __extension__
69 #define __GNU_EXTENSION
75 #if defined(NONAMELESSUNION)
76 #define _ANONYMOUS_UNION
77 #define _UNION_NAME(x) x
78 #define DUMMYUNIONNAME u
79 #define DUMMYUNIONNAME1 u1
80 #define DUMMYUNIONNAME2 u2
81 #define DUMMYUNIONNAME3 u3
82 #define DUMMYUNIONNAME4 u4
83 #define DUMMYUNIONNAME5 u5
84 #define DUMMYUNIONNAME6 u6
85 #define DUMMYUNIONNAME7 u7
86 #define DUMMYUNIONNAME8 u8
87 #define DUMMYUNIONNAME9 u9
89 #define _ANONYMOUS_UNION __GNU_EXTENSION
90 #define _UNION_NAME(x)
91 #define DUMMYUNIONNAME
92 #define DUMMYUNIONNAME1
93 #define DUMMYUNIONNAME2
94 #define DUMMYUNIONNAME3
95 #define DUMMYUNIONNAME4
96 #define DUMMYUNIONNAME5
97 #define DUMMYUNIONNAME6
98 #define DUMMYUNIONNAME7
99 #define DUMMYUNIONNAME8
100 #define DUMMYUNIONNAME9
104#ifndef DUMMYSTRUCTNAME
105 #if defined(NONAMELESSUNION)
106 #define _ANONYMOUS_STRUCT
107 #define _STRUCT_NAME(x) x
108 #define DUMMYSTRUCTNAME s
109 #define DUMMYSTRUCTNAME1 s1
110 #define DUMMYSTRUCTNAME2 s2
111 #define DUMMYSTRUCTNAME3 s3
112 #define DUMMYSTRUCTNAME4 s4
113 #define DUMMYSTRUCTNAME5 s5
115 #define _ANONYMOUS_STRUCT __GNU_EXTENSION
116 #define _STRUCT_NAME(x)
117 #define DUMMYSTRUCTNAME
118 #define DUMMYSTRUCTNAME1
119 #define DUMMYSTRUCTNAME2
120 #define DUMMYSTRUCTNAME3
121 #define DUMMYSTRUCTNAME4
122 #define DUMMYSTRUCTNAME5
167#define IMAGE_DIRECTORY_ENTRY_EXPORT 0
168#define IMAGE_DIRECTORY_ENTRY_IMPORT 1
169#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2
170#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3
171#define IMAGE_DIRECTORY_ENTRY_SECURITY 4
172#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5
173#define IMAGE_DIRECTORY_ENTRY_DEBUG 6
174#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7
175#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8
176#define IMAGE_DIRECTORY_ENTRY_TLS 9
177#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10
178#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11
179#define IMAGE_DIRECTORY_ENTRY_IAT 12
180#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13
181#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14
313#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000
314#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000
381#define IMAGE_DOS_SIGNATURE 0x5A4D
382#define IMAGE_OS2_SIGNATURE 0x454E
383#define IMAGE_OS2_SIGNATURE_LE 0x454C
384#define IMAGE_VXD_SIGNATURE 0x454C
385#define IMAGE_NT_SIGNATURE 0x00004550
387#define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((ULONG_PTR)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader))
struct _IMAGE_RESOURCE_DIRECTORY_STRING * PIMAGE_RESOURCE_DIRECTORY_STRING
struct _IMAGE_NT_HEADERS32 IMAGE_NT_HEADERS32
struct _IMAGE_OPTIONAL_HEADER64 * PIMAGE_OPTIONAL_HEADER64
struct _IMAGE_RESOURCE_DIRECTORY * PIMAGE_RESOURCE_DIRECTORY
IMAGE_NT_HEADERS32 IMAGE_NT_HEADERS
struct _IMAGE_RELOCATION IMAGE_RELOCATION
struct _IMAGE_OPTIONAL_HEADER64 IMAGE_OPTIONAL_HEADER64
struct _IMAGE_OPTIONAL_HEADER32 * PIMAGE_OPTIONAL_HEADER32
IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER
struct _IMAGE_RESOURCE_DATA_ENTRY * PIMAGE_RESOURCE_DATA_ENTRY
struct _IMAGE_DATA_DIRECTORY IMAGE_DATA_DIRECTORY
struct _IMAGE_BASE_RELOCATION IMAGE_BASE_RELOCATION
struct _IMAGE_SECTION_HEADER * PIMAGE_SECTION_HEADER
struct _IMAGE_BASE_RELOCATION * PIMAGE_BASE_RELOCATION
struct _IMAGE_FILE_HEADER IMAGE_FILE_HEADER
PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS
struct _IMAGE_RESOURCE_DIRECTORY_ENTRY IMAGE_RESOURCE_DIRECTORY_ENTRY
struct _IMAGE_RELOCATION UNALIGNED * PIMAGE_RELOCATION
struct _IMAGE_NT_HEADERS64 * PIMAGE_NT_HEADERS64
struct _IMAGE_DOS_HEADER IMAGE_DOS_HEADER
struct _IMAGE_RESOURCE_DIRECTORY_STRING IMAGE_RESOURCE_DIRECTORY_STRING
struct _IMAGE_SYMBOL IMAGE_SYMBOL
struct _IMAGE_DATA_DIRECTORY * PIMAGE_DATA_DIRECTORY
struct _IMAGE_RESOURCE_DIRECTORY IMAGE_RESOURCE_DIRECTORY
struct _IMAGE_DOS_HEADER * PIMAGE_DOS_HEADER
PIMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER
struct _IMAGE_NT_HEADERS64 IMAGE_NT_HEADERS64
struct _IMAGE_RESOURCE_DIRECTORY_ENTRY * PIMAGE_RESOURCE_DIRECTORY_ENTRY
struct _IMAGE_SYMBOL UNALIGNED * PIMAGE_SYMBOL
struct _IMAGE_RESOURCE_DATA_ENTRY IMAGE_RESOURCE_DATA_ENTRY
struct _IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER32
#define _ANONYMOUS_STRUCT
struct _IMAGE_FILE_HEADER * PIMAGE_FILE_HEADER
struct _IMAGE_SECTION_HEADER IMAGE_SECTION_HEADER
struct _IMAGE_NT_HEADERS32 * PIMAGE_NT_HEADERS32
_ANONYMOUS_UNION union _IMAGE_RESOURCE_DIRECTORY_ENTRY::@2308 DUMMYUNIONNAME
_ANONYMOUS_STRUCT struct _IMAGE_RESOURCE_DIRECTORY_ENTRY::@2308::@2310 DUMMYSTRUCTNAME
_ANONYMOUS_STRUCT struct _IMAGE_RESOURCE_DIRECTORY_ENTRY::@2309::@2311 DUMMYSTRUCTNAME2
_ANONYMOUS_UNION union _IMAGE_RESOURCE_DIRECTORY_ENTRY::@2309 DUMMYUNIONNAME2
WORD NumberOfNamedEntries
union _IMAGE_SYMBOL::@2475 N
struct _IMAGE_SYMBOL::@2475::@2476 Name
#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES
#define IMAGE_SIZEOF_SHORT_NAME