/
IImageOptionalHeader.cs
165 lines (133 loc) · 3.56 KB
/
IImageOptionalHeader.cs
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
// dnlib: See LICENSE.txt for more info
using dnlib.IO;
namespace dnlib.PE {
/// <summary>
/// Interface for PE optional header classes
/// </summary>
public interface IImageOptionalHeader : IFileSection {
/// <summary>
/// Returns the Magic field
/// </summary>
ushort Magic { get; }
/// <summary>
/// Returns the MajorLinkerVersion field
/// </summary>
byte MajorLinkerVersion { get; }
/// <summary>
/// Returns the MinorLinkerVersion field
/// </summary>
byte MinorLinkerVersion { get; }
/// <summary>
/// Returns the SizeOfCode field
/// </summary>
uint SizeOfCode { get; }
/// <summary>
/// Returns the SizeOfInitializedData field
/// </summary>
uint SizeOfInitializedData { get; }
/// <summary>
/// Returns the SizeOfUninitializedData field
/// </summary>
uint SizeOfUninitializedData { get; }
/// <summary>
/// Returns the AddressOfEntryPoint field
/// </summary>
RVA AddressOfEntryPoint { get; }
/// <summary>
/// Returns the BaseOfCode field
/// </summary>
RVA BaseOfCode { get; }
/// <summary>
/// Returns the BaseOfData field
/// </summary>
RVA BaseOfData { get; }
/// <summary>
/// Returns the ImageBase field
/// </summary>
ulong ImageBase { get; }
/// <summary>
/// Returns the SectionAlignment field
/// </summary>
uint SectionAlignment { get; }
/// <summary>
/// Returns the FileAlignment field
/// </summary>
uint FileAlignment { get; }
/// <summary>
/// Returns the MajorOperatingSystemVersion field
/// </summary>
ushort MajorOperatingSystemVersion { get; }
/// <summary>
/// Returns the MinorOperatingSystemVersion field
/// </summary>
ushort MinorOperatingSystemVersion { get; }
/// <summary>
/// Returns the MajorImageVersion field
/// </summary>
ushort MajorImageVersion { get; }
/// <summary>
/// Returns the MinorImageVersion field
/// </summary>
ushort MinorImageVersion { get; }
/// <summary>
/// Returns the MajorSubsystemVersion field
/// </summary>
ushort MajorSubsystemVersion { get; }
/// <summary>
/// Returns the MinorSubsystemVersion field
/// </summary>
ushort MinorSubsystemVersion { get; }
/// <summary>
/// Returns the Win32VersionValue field
/// </summary>
uint Win32VersionValue { get; }
/// <summary>
/// Returns the SizeOfImage field
/// </summary>
uint SizeOfImage { get; }
/// <summary>
/// Returns the SizeOfHeaders field
/// </summary>
uint SizeOfHeaders { get; }
/// <summary>
/// Returns the CheckSum field
/// </summary>
uint CheckSum { get; }
/// <summary>
/// Returns the Subsystem field
/// </summary>
Subsystem Subsystem { get; }
/// <summary>
/// Returns the DllCharacteristics field
/// </summary>
DllCharacteristics DllCharacteristics { get; }
/// <summary>
/// Returns the SizeOfStackReserve field
/// </summary>
ulong SizeOfStackReserve { get; }
/// <summary>
/// Returns the SizeOfStackCommit field
/// </summary>
ulong SizeOfStackCommit { get; }
/// <summary>
/// Returns the SizeOfHeapReserve field
/// </summary>
ulong SizeOfHeapReserve { get; }
/// <summary>
/// Returns the SizeOfHeapCommit field
/// </summary>
ulong SizeOfHeapCommit { get; }
/// <summary>
/// Returns the LoaderFlags field
/// </summary>
uint LoaderFlags { get; }
/// <summary>
/// Returns the NumberOfRvaAndSizes field
/// </summary>
uint NumberOfRvaAndSizes { get; }
/// <summary>
/// Returns the DataDirectories field. This array contains exactly 16 elements.
/// </summary>
ImageDataDirectory[] DataDirectories { get; }
}
}