forked from vdisasm/pe-image-for-delphi
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathPE.Types.Sections.inc
55 lines (54 loc) · 4.69 KB
/
PE.Types.Sections.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{$region 'constants'}
const
// Max length of short section name.
IMAGE_SIZEOF_SHORT_NAME = 8;
// 3.1 Section Flags
// The section flags in the Characteristics field of the section
// header indicate characteristics of the section.
const
// = $00000000; // Reserved for future use.
// = $00000001; // Reserved for future use.
// = $00000002; // Reserved for future use.
// = $00000004; // Reserved for future use.
IMAGE_SCN_TYPE_NO_PAD = $00000008; // The section should not be padded to the next boundary.
// This flag is obsolete and is replaced by
// IMAGE_SCN_ALIGN_1BYTES. This is valid only for object files.
// = $00000010 // Reserved for future use.
IMAGE_SCN_CNT_CODE = $00000020; // The section contains executable code.
IMAGE_SCN_CNT_INITIALIZED_DATA = $00000040; // The section contains initialized data.
IMAGE_SCN_CNT_UNINITIALIZED_DATA = $00000080; // The section contains uninitialized data.
IMAGE_SCN_LNK_OTHER = $00000100; // Reserved for future use.
IMAGE_SCN_LNK_INFO = $00000200; // The section contains comments or other information.
// The .drectve section has this type. This is valid for object files only.
// = $00000400 // Reserved for future use.
IMAGE_SCN_LNK_REMOVE = $00000800; // The section will not become part of the image. This is valid only for object files.
IMAGE_SCN_LNK_COMDAT = $00001000; // The section contains COMDAT data.
IMAGE_SCN_GPREL = $00008000; // The section contains data referenced through the global pointer (GP).
IMAGE_SCN_MEM_PURGEABLE = $00020000; // Reserved for future use.
IMAGE_SCN_MEM_16BIT = $00020000; // For ARM machine types, the section contains Thumb code.
// Reserved for future use with other machine types.
IMAGE_SCN_MEM_LOCKED = $00040000; // Reserved for future use.
IMAGE_SCN_MEM_PRELOAD = $00080000; // Reserved for future use.
IMAGE_SCN_ALIGN_1BYTES = $00100000; // Align data on a 1-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_2BYTES = $00200000; // Align data on a 2-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_4BYTES = $00300000; // Align data on a 4-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_8BYTES = $00400000; // Align data on an 8-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_16BYTES = $00500000; // Align data on a 16-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_32BYTES = $00600000; // Align data on a 32-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_64BYTES = $00700000; // Align data on a 64-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_128BYTES = $00800000; // Align data on a 128-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_256BYTES = $00900000; // Align data on a 256-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_512BYTES = $00A00000; // Align data on a 512-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_1024BYTES = $00B00000; // Align data on a 1024-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_2048BYTES = $00C00000; // Align data on a 2048-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_4096BYTES = $00D00000; // Align data on a 4096-byte boundary. Valid only for object files.
IMAGE_SCN_ALIGN_8192BYTES = $00E00000; // Align data on an 8192-byte boundary. Valid only for object files.
IMAGE_SCN_LNK_NRELOC_OVFL = $01000000; // The section contains extended relocations.
IMAGE_SCN_MEM_DISCARDABLE = $02000000; // The section can be discarded as needed.
IMAGE_SCN_MEM_NOT_CACHED = $04000000; // The section cannot be cached.
IMAGE_SCN_MEM_NOT_PAGED = $08000000; // The section is not pageable.
IMAGE_SCN_MEM_SHARED = $10000000; // The section can be shared in memory.
IMAGE_SCN_MEM_EXECUTE = $20000000; // The section can be executed as code.
IMAGE_SCN_MEM_READ = $40000000; // The section can be read.
IMAGE_SCN_MEM_WRITE = $80000000; // The section can be written to.
{$endregion 'constants'}