LIEF: Library to Instrument Executable Formats
Version 1.0.0
Toggle main menu visibility
Loading...
Searching...
No Matches
lief-install
x86_64
static
include
LIEF
PE
OptionalHeader.hpp
Go to the documentation of this file.
1
/* Copyright 2017 - 2026 R. Thomas
2
* Copyright 2017 - 2026 Quarkslab
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
#ifndef LIEF_PE_OPTIONAL_HEADER_H
17
#define LIEF_PE_OPTIONAL_HEADER_H
18
#include <ostream>
19
#include <vector>
20
#include <cstdint>
21
22
#include "
LIEF/Object.hpp
"
23
#include "
LIEF/visibility.h
"
24
25
#include "
LIEF/enums.hpp
"
26
#include "
LIEF/PE/enums.hpp
"
27
28
namespace
LIEF
{
29
namespace
PE
{
30
class
Parser
;
31
class
Binary
;
32
33
namespace
details
{
34
struct
pe32_optional_header;
35
struct
pe64_optional_header;
36
}
37
42
class
LIEF_API
OptionalHeader
:
public
Object
{
43
friend
class
Parser
;
44
friend
class
Binary
;
45
public
:
46
47
enum class
DLL_CHARACTERISTICS
:
size_t
{
48
HIGH_ENTROPY_VA = 0x0020,
49
DYNAMIC_BASE = 0x0040,
50
FORCE_INTEGRITY = 0x0080,
51
NX_COMPAT = 0x0100,
52
NO_ISOLATION = 0x0200,
53
NO_SEH = 0x0400,
54
NO_BIND = 0x0800,
55
APPCONTAINER = 0x1000,
56
WDM_DRIVER = 0x2000,
57
GUARD_CF = 0x4000,
58
TERMINAL_SERVER_AWARE = 0x8000
59
};
60
61
enum class
SUBSYSTEM
:
size_t
{
62
UNKNOWN = 0,
63
NATIVE = 1,
64
WINDOWS_GUI = 2,
65
WINDOWS_CUI = 3,
66
OS2_CUI = 5,
67
POSIX_CUI = 7,
68
NATIVE_WINDOWS = 8,
69
WINDOWS_CE_GUI = 9,
70
EFI_APPLICATION = 10,
71
EFI_BOOT_SERVICE_DRIVER = 11,
72
EFI_RUNTIME_DRIVER = 12,
73
EFI_ROM = 13,
74
XBOX = 14,
75
WINDOWS_BOOT_APPLICATION = 16,
76
XBOX_CODE_CATALOG = 17,
77
};
78
79
OptionalHeader
(
const
details::pe32_optional_header& header);
80
OptionalHeader
(
const
details::pe64_optional_header& header);
81
~OptionalHeader
()
override
=
default
;
82
83
OptionalHeader
&
operator=
(
const
OptionalHeader
&) =
default
;
84
OptionalHeader
(
const
OptionalHeader
&) =
default
;
85
86
static
OptionalHeader
create
(
PE_TYPE
type);
87
89
PE_TYPE
magic
()
const
{
90
return
magic_;
91
}
92
94
uint8_t
major_linker_version
()
const
{
95
return
major_linker_version_;
96
}
97
99
uint8_t
minor_linker_version
()
const
{
100
return
minor_linker_version_;
101
}
102
105
uint32_t
sizeof_code
()
const
{
106
return
sizeof_code_;
107
}
108
114
uint32_t
sizeof_initialized_data
()
const
{
115
return
sizeof_initialized_data_;
116
}
117
123
uint32_t
sizeof_uninitialized_data
()
const
{
124
return
sizeof_uninitialized_data_;
125
}
126
132
uint32_t
addressof_entrypoint
()
const
{
133
return
entrypoint_;
134
}
135
137
uint32_t
baseof_code
()
const
{
138
return
baseof_code_;
139
}
140
144
uint32_t
baseof_data
()
const
{
145
return
baseof_data_;
146
}
147
149
uint64_t
imagebase
()
const
{
150
return
imagebase_;
151
}
152
157
uint32_t
section_alignment
()
const
{
158
return
section_align_;
159
}
160
163
uint32_t
file_alignment
()
const
{
164
return
file_align_;
165
}
166
168
uint16_t
major_operating_system_version
()
const
{
169
return
major_os_version_;
170
}
171
173
uint16_t
minor_operating_system_version
()
const
{
174
return
minor_os_version_;
175
}
176
178
uint16_t
major_image_version
()
const
{
179
return
major_image_version_;
180
}
181
183
uint16_t
minor_image_version
()
const
{
184
return
minor_image_version_;
185
}
186
188
uint16_t
major_subsystem_version
()
const
{
189
return
major_subsys_version_;
190
}
191
193
uint16_t
minor_subsystem_version
()
const
{
194
return
minor_subsys_version_;
195
}
196
199
uint32_t
win32_version_value
()
const
{
200
return
win32_version_value_;
201
}
202
206
uint32_t
sizeof_image
()
const
{
207
return
sizeof_image_;
208
}
209
211
uint32_t
sizeof_headers
()
const
{
212
return
sizeof_headers_;
213
}
214
219
uint32_t
checksum
()
const
{
220
return
checksum_;
221
}
222
224
SUBSYSTEM
subsystem
()
const
{
225
return
subsystem_;
226
}
227
231
uint32_t
dll_characteristics
()
const
{
232
return
dll_characteristics_;
233
}
234
239
uint64_t
sizeof_stack_reserve
()
const
{
240
return
sizeof_stack_reserve_;
241
}
242
244
uint64_t
sizeof_stack_commit
()
const
{
245
return
sizeof_stack_commit_;
246
}
247
249
uint64_t
sizeof_heap_reserve
()
const
{
250
return
sizeof_heap_reserve_;
251
}
252
254
uint64_t
sizeof_heap_commit
()
const
{
255
return
sizeof_heap_commit_;
256
}
257
259
uint32_t
loader_flags
()
const
{
260
return
loader_flags_;
261
}
262
264
uint32_t
numberof_rva_and_size
()
const
{
265
return
nb_rva_size_;
266
}
267
269
bool
has
(
DLL_CHARACTERISTICS
c)
const
{
270
return
(
dll_characteristics
() &
static_cast<
uint32_t
>
(c)) != 0;
271
}
272
274
std::vector<DLL_CHARACTERISTICS>
dll_characteristics_list
()
const
;
275
277
void
add
(
DLL_CHARACTERISTICS
c) {
278
dll_characteristics
(
dll_characteristics
() |
static_cast<
uint32_t
>
(c));
279
}
280
282
void
remove
(
DLL_CHARACTERISTICS
c) {
283
dll_characteristics
(
dll_characteristics
() & (~
static_cast<
uint32_t
>
(c)));
284
}
285
286
void
magic
(
PE_TYPE
magic
) {
287
magic_ =
magic
;
288
}
289
290
void
major_linker_version
(uint8_t value) {
291
major_linker_version_ = value;
292
}
293
294
void
minor_linker_version
(uint8_t value) {
295
minor_linker_version_ = value;
296
}
297
298
void
sizeof_code
(uint32_t value) {
299
sizeof_code_ = value;
300
}
301
302
void
sizeof_initialized_data
(uint32_t value) {
303
sizeof_initialized_data_ = value;
304
}
305
306
void
sizeof_uninitialized_data
(uint32_t value) {
307
sizeof_uninitialized_data_ = value;
308
}
309
310
void
addressof_entrypoint
(uint32_t value) {
311
entrypoint_ = value;
312
}
313
314
void
baseof_code
(uint32_t value) {
315
baseof_code_ = value;
316
}
317
318
void
baseof_data
(uint32_t value) {
319
baseof_data_ = value;
320
}
321
322
void
imagebase
(uint64_t value) {
323
imagebase_ = value;
324
}
325
326
void
section_alignment
(uint32_t value) {
327
section_align_ = value;
328
}
329
330
void
file_alignment
(uint32_t value) {
331
file_align_ = value;
332
}
333
334
void
major_operating_system_version
(uint16_t value) {
335
major_os_version_ = value;
336
}
337
338
void
minor_operating_system_version
(uint16_t value) {
339
minor_os_version_ = value;
340
}
341
342
void
major_image_version
(uint16_t value) {
343
major_image_version_ = value;
344
}
345
346
void
minor_image_version
(uint16_t value) {
347
minor_image_version_ = value;
348
}
349
350
void
major_subsystem_version
(uint16_t value) {
351
major_subsys_version_ = value;
352
}
353
354
void
minor_subsystem_version
(uint16_t value) {
355
minor_subsys_version_ = value;
356
}
357
358
void
win32_version_value
(uint32_t value) {
359
win32_version_value_ = value;
360
}
361
362
void
sizeof_image
(uint32_t value) {
363
sizeof_image_ = value;
364
}
365
366
void
sizeof_headers
(uint32_t value) {
367
sizeof_headers_ = value;
368
}
369
370
void
checksum
(uint32_t value) {
371
checksum_ = value;
372
}
373
374
void
subsystem
(
SUBSYSTEM
value) {
375
subsystem_ = value;
376
}
377
378
void
dll_characteristics
(uint32_t value) {
379
dll_characteristics_ = value;
380
}
381
382
void
sizeof_stack_reserve
(uint64_t value) {
383
sizeof_stack_reserve_ = value;
384
}
385
386
void
sizeof_stack_commit
(uint64_t value) {
387
sizeof_stack_commit_ = value;
388
}
389
390
void
sizeof_heap_reserve
(uint64_t value) {
391
sizeof_heap_reserve_ = value;
392
}
393
394
void
sizeof_heap_commit
(uint64_t value) {
395
sizeof_heap_commit_ = value;
396
}
397
398
void
loader_flags
(uint32_t value) {
399
loader_flags_ = value;
400
}
401
402
void
numberof_rva_and_size
(uint32_t value) {
403
nb_rva_size_ = value;
404
}
405
406
void
accept
(
Visitor
& visitor)
const override
;
407
408
OptionalHeader
&
operator+=
(
DLL_CHARACTERISTICS
c) {
409
add
(c);
410
return
*
this
;
411
}
412
OptionalHeader
&
operator-=
(
DLL_CHARACTERISTICS
c) {
413
remove
(c);
414
return
*
this
;
415
}
416
417
LIEF_API
friend
std::ostream&
operator<<
(std::ostream& os,
const
OptionalHeader
& entry);
418
419
private
:
420
OptionalHeader
() =
default
;
421
422
PE_TYPE
magic_ =
PE_TYPE::PE32
;
423
uint8_t major_linker_version_ = 0;
424
uint8_t minor_linker_version_ = 0;
425
uint32_t sizeof_code_ = 0;
426
uint32_t sizeof_initialized_data_ = 0;
427
uint32_t sizeof_uninitialized_data_ = 0;
428
uint32_t entrypoint_ = 0;
429
uint32_t baseof_code_ = 0;
430
uint32_t baseof_data_ = 0;
431
uint64_t imagebase_ = 0;
432
uint32_t section_align_ = 0;
433
uint32_t file_align_ = 0;
434
uint16_t major_os_version_ = 0;
435
uint16_t minor_os_version_ = 0;
436
uint16_t major_image_version_ = 0;
437
uint16_t minor_image_version_ = 0;
438
uint16_t major_subsys_version_ = 0;
439
uint16_t minor_subsys_version_ = 0;
440
uint32_t win32_version_value_ = 0;
441
uint32_t sizeof_image_ = 0;
442
uint32_t sizeof_headers_ = 0;
443
uint32_t checksum_ = 0;
444
SUBSYSTEM
subsystem_ =
SUBSYSTEM::UNKNOWN
;
445
uint32_t dll_characteristics_ = 0;
446
uint64_t sizeof_stack_reserve_ = 0;
447
uint64_t sizeof_stack_commit_ = 0;
448
uint64_t sizeof_heap_reserve_ = 0;
449
uint64_t sizeof_heap_commit_ = 0;
450
uint32_t loader_flags_ = 0;
451
uint32_t nb_rva_size_ = 0;
452
};
453
454
LIEF_API
const
char
*
to_string
(
OptionalHeader::DLL_CHARACTERISTICS
);
455
LIEF_API
const
char
*
to_string
(
OptionalHeader::SUBSYSTEM
);
456
457
}
458
}
459
460
ENABLE_BITMASK_OPERATORS
(
LIEF::PE::OptionalHeader::DLL_CHARACTERISTICS
);
461
462
#endif
Object.hpp
enums.hpp
LIEF::Object::Object
Object()
LIEF::PE::Binary
Class which represents a PE binary This is the main interface to manage and modify a PE executable.
Definition
PE/Binary.hpp:57
LIEF::PE::OptionalHeader::DLL_CHARACTERISTICS
DLL_CHARACTERISTICS
Definition
OptionalHeader.hpp:47
LIEF::PE::OptionalHeader::major_image_version
uint16_t major_image_version() const
The major version number of the image.
Definition
OptionalHeader.hpp:178
LIEF::PE::OptionalHeader::baseof_data
void baseof_data(uint32_t value)
Definition
OptionalHeader.hpp:318
LIEF::PE::OptionalHeader::minor_subsystem_version
uint16_t minor_subsystem_version() const
The minor version number of the subsystem.
Definition
OptionalHeader.hpp:193
LIEF::PE::OptionalHeader::sizeof_code
void sizeof_code(uint32_t value)
Definition
OptionalHeader.hpp:298
LIEF::PE::OptionalHeader::SUBSYSTEM
SUBSYSTEM
Definition
OptionalHeader.hpp:61
LIEF::PE::OptionalHeader::SUBSYSTEM::UNKNOWN
@ UNKNOWN
An unknown subsystem.
Definition
OptionalHeader.hpp:62
LIEF::PE::OptionalHeader::numberof_rva_and_size
uint32_t numberof_rva_and_size() const
The number of DataDirectory that follow this header.
Definition
OptionalHeader.hpp:264
LIEF::PE::OptionalHeader::operator<<
friend std::ostream & operator<<(std::ostream &os, const OptionalHeader &entry)
LIEF::PE::OptionalHeader::sizeof_uninitialized_data
uint32_t sizeof_uninitialized_data() const
The size of the uninitialized data which are usually located in the .bss section. If the uninitialize...
Definition
OptionalHeader.hpp:123
LIEF::PE::OptionalHeader::win32_version_value
void win32_version_value(uint32_t value)
Definition
OptionalHeader.hpp:358
LIEF::PE::OptionalHeader::OptionalHeader
OptionalHeader(const details::pe64_optional_header &header)
LIEF::PE::OptionalHeader::dll_characteristics_list
std::vector< DLL_CHARACTERISTICS > dll_characteristics_list() const
Return the list of the dll_characteristics as an std::set of DLL_CHARACTERISTICS.
LIEF::PE::OptionalHeader::sizeof_stack_commit
uint64_t sizeof_stack_commit() const
Size of the stack to commit.
Definition
OptionalHeader.hpp:244
LIEF::PE::OptionalHeader::major_subsystem_version
void major_subsystem_version(uint16_t value)
Definition
OptionalHeader.hpp:350
LIEF::PE::OptionalHeader::major_operating_system_version
void major_operating_system_version(uint16_t value)
Definition
OptionalHeader.hpp:334
LIEF::PE::OptionalHeader::operator=
OptionalHeader & operator=(const OptionalHeader &)=default
LIEF::PE::OptionalHeader::dll_characteristics
void dll_characteristics(uint32_t value)
Definition
OptionalHeader.hpp:378
LIEF::PE::OptionalHeader::has
bool has(DLL_CHARACTERISTICS c) const
Check if the given DLL_CHARACTERISTICS is included in the dll_characteristics.
Definition
OptionalHeader.hpp:269
LIEF::PE::OptionalHeader::sizeof_initialized_data
void sizeof_initialized_data(uint32_t value)
Definition
OptionalHeader.hpp:302
LIEF::PE::OptionalHeader::addressof_entrypoint
void addressof_entrypoint(uint32_t value)
Definition
OptionalHeader.hpp:310
LIEF::PE::OptionalHeader::magic
void magic(PE_TYPE magic)
Definition
OptionalHeader.hpp:286
LIEF::PE::OptionalHeader::minor_linker_version
uint8_t minor_linker_version() const
The linker minor version.
Definition
OptionalHeader.hpp:99
LIEF::PE::OptionalHeader::major_linker_version
uint8_t major_linker_version() const
The linker major version.
Definition
OptionalHeader.hpp:94
LIEF::PE::OptionalHeader::sizeof_headers
uint32_t sizeof_headers() const
Size of the DosHeader + PE Header + Section headers rounded up to a multiple of the file_alignment.
Definition
OptionalHeader.hpp:211
LIEF::PE::OptionalHeader::remove
void remove(DLL_CHARACTERISTICS c)
Remove a DLL_CHARACTERISTICS from the current characteristics.
Definition
OptionalHeader.hpp:282
LIEF::PE::OptionalHeader::major_operating_system_version
uint16_t major_operating_system_version() const
The major version number of the required operating system.
Definition
OptionalHeader.hpp:168
LIEF::PE::OptionalHeader::~OptionalHeader
~OptionalHeader() override=default
LIEF::PE::OptionalHeader::minor_linker_version
void minor_linker_version(uint8_t value)
Definition
OptionalHeader.hpp:294
LIEF::PE::OptionalHeader::sizeof_image
void sizeof_image(uint32_t value)
Definition
OptionalHeader.hpp:362
LIEF::PE::OptionalHeader::minor_operating_system_version
void minor_operating_system_version(uint16_t value)
Definition
OptionalHeader.hpp:338
LIEF::PE::OptionalHeader::win32_version_value
uint32_t win32_version_value() const
According to the official PE specifications, this value is reserved and should be 0.
Definition
OptionalHeader.hpp:199
LIEF::PE::OptionalHeader::loader_flags
void loader_flags(uint32_t value)
Definition
OptionalHeader.hpp:398
LIEF::PE::OptionalHeader::sizeof_headers
void sizeof_headers(uint32_t value)
Definition
OptionalHeader.hpp:366
LIEF::PE::OptionalHeader::sizeof_heap_commit
uint64_t sizeof_heap_commit() const
Size of the heap to commit.
Definition
OptionalHeader.hpp:254
LIEF::PE::OptionalHeader::sizeof_image
uint32_t sizeof_image() const
The size (in bytes) of the image, including all headers, as the image is loaded in memory.
Definition
OptionalHeader.hpp:206
LIEF::PE::OptionalHeader::imagebase
uint64_t imagebase() const
The preferred base address when mapping the binary in memory.
Definition
OptionalHeader.hpp:149
LIEF::PE::OptionalHeader::baseof_data
uint32_t baseof_data() const
Address relative to the imagebase where the binary's data starts.
Definition
OptionalHeader.hpp:144
LIEF::PE::OptionalHeader::imagebase
void imagebase(uint64_t value)
Definition
OptionalHeader.hpp:322
LIEF::PE::OptionalHeader::Binary
friend class Binary
Definition
OptionalHeader.hpp:44
LIEF::PE::OptionalHeader::section_alignment
uint32_t section_alignment() const
The alignment (in bytes) of sections when they are loaded into memory.
Definition
OptionalHeader.hpp:157
LIEF::PE::OptionalHeader::sizeof_code
uint32_t sizeof_code() const
The size of the code .text section or the sum of all the sections that contain code (i....
Definition
OptionalHeader.hpp:105
LIEF::PE::OptionalHeader::minor_operating_system_version
uint16_t minor_operating_system_version() const
The minor version number of the required operating system.
Definition
OptionalHeader.hpp:173
LIEF::PE::OptionalHeader::major_subsystem_version
uint16_t major_subsystem_version() const
The major version number of the subsystem.
Definition
OptionalHeader.hpp:188
LIEF::PE::OptionalHeader::Parser
friend class Parser
Definition
OptionalHeader.hpp:43
LIEF::PE::OptionalHeader::subsystem
void subsystem(SUBSYSTEM value)
Definition
OptionalHeader.hpp:374
LIEF::PE::OptionalHeader::loader_flags
uint32_t loader_flags() const
According to the PE specifications, this value is reserved and should be 0.
Definition
OptionalHeader.hpp:259
LIEF::PE::OptionalHeader::subsystem
SUBSYSTEM subsystem() const
Target subsystem like Driver, XBox, Windows GUI, ...
Definition
OptionalHeader.hpp:224
LIEF::PE::OptionalHeader::section_alignment
void section_alignment(uint32_t value)
Definition
OptionalHeader.hpp:326
LIEF::PE::OptionalHeader::file_alignment
uint32_t file_alignment() const
The section's file alignment. This value must be a power of 2 between 512 and 64K....
Definition
OptionalHeader.hpp:163
LIEF::PE::OptionalHeader::sizeof_stack_reserve
void sizeof_stack_reserve(uint64_t value)
Definition
OptionalHeader.hpp:382
LIEF::PE::OptionalHeader::baseof_code
void baseof_code(uint32_t value)
Definition
OptionalHeader.hpp:314
LIEF::PE::OptionalHeader::file_alignment
void file_alignment(uint32_t value)
Definition
OptionalHeader.hpp:330
LIEF::PE::OptionalHeader::operator+=
OptionalHeader & operator+=(DLL_CHARACTERISTICS c)
Definition
OptionalHeader.hpp:408
LIEF::PE::OptionalHeader::accept
void accept(Visitor &visitor) const override
LIEF::PE::OptionalHeader::create
static OptionalHeader create(PE_TYPE type)
LIEF::PE::OptionalHeader::baseof_code
uint32_t baseof_code() const
Address relative to the imagebase where the binary's code starts.
Definition
OptionalHeader.hpp:137
LIEF::PE::OptionalHeader::sizeof_stack_reserve
uint64_t sizeof_stack_reserve() const
Size of the stack to reserve when loading the PE binary.
Definition
OptionalHeader.hpp:239
LIEF::PE::OptionalHeader::sizeof_initialized_data
uint32_t sizeof_initialized_data() const
The size of the initialized data which are usually located in the .data section. If the initialized d...
Definition
OptionalHeader.hpp:114
LIEF::PE::OptionalHeader::dll_characteristics
uint32_t dll_characteristics() const
Some characteristics of the underlying binary like the support of the PIE. The prefix dll comes from ...
Definition
OptionalHeader.hpp:231
LIEF::PE::OptionalHeader::checksum
uint32_t checksum() const
The image file checksum. The algorithm for computing the checksum is incorporated into IMAGHELP....
Definition
OptionalHeader.hpp:219
LIEF::PE::OptionalHeader::major_image_version
void major_image_version(uint16_t value)
Definition
OptionalHeader.hpp:342
LIEF::PE::OptionalHeader::sizeof_uninitialized_data
void sizeof_uninitialized_data(uint32_t value)
Definition
OptionalHeader.hpp:306
LIEF::PE::OptionalHeader::operator-=
OptionalHeader & operator-=(DLL_CHARACTERISTICS c)
Definition
OptionalHeader.hpp:412
LIEF::PE::OptionalHeader::minor_image_version
void minor_image_version(uint16_t value)
Definition
OptionalHeader.hpp:346
LIEF::PE::OptionalHeader::minor_image_version
uint16_t minor_image_version() const
The minor version number of the image.
Definition
OptionalHeader.hpp:183
LIEF::PE::OptionalHeader::major_linker_version
void major_linker_version(uint8_t value)
Definition
OptionalHeader.hpp:290
LIEF::PE::OptionalHeader::OptionalHeader
OptionalHeader(const OptionalHeader &)=default
LIEF::PE::OptionalHeader::OptionalHeader
OptionalHeader(const details::pe32_optional_header &header)
LIEF::PE::OptionalHeader::addressof_entrypoint
uint32_t addressof_entrypoint() const
The address of the entry point relative to the image base when the executable file is loaded into mem...
Definition
OptionalHeader.hpp:132
LIEF::PE::OptionalHeader::minor_subsystem_version
void minor_subsystem_version(uint16_t value)
Definition
OptionalHeader.hpp:354
LIEF::PE::OptionalHeader::add
void add(DLL_CHARACTERISTICS c)
Add a DLL_CHARACTERISTICS to the current characteristics.
Definition
OptionalHeader.hpp:277
LIEF::PE::OptionalHeader::checksum
void checksum(uint32_t value)
Definition
OptionalHeader.hpp:370
LIEF::PE::OptionalHeader::numberof_rva_and_size
void numberof_rva_and_size(uint32_t value)
Definition
OptionalHeader.hpp:402
LIEF::PE::OptionalHeader::sizeof_stack_commit
void sizeof_stack_commit(uint64_t value)
Definition
OptionalHeader.hpp:386
LIEF::PE::OptionalHeader::sizeof_heap_reserve
uint64_t sizeof_heap_reserve() const
Size of the heap to reserve when loading the PE binary.
Definition
OptionalHeader.hpp:249
LIEF::PE::OptionalHeader::magic
PE_TYPE magic() const
Magic bytes: either PE32 or PE32+ for 64-bits PE files.
Definition
OptionalHeader.hpp:89
LIEF::PE::OptionalHeader::sizeof_heap_reserve
void sizeof_heap_reserve(uint64_t value)
Definition
OptionalHeader.hpp:390
LIEF::PE::OptionalHeader::sizeof_heap_commit
void sizeof_heap_commit(uint64_t value)
Definition
OptionalHeader.hpp:394
LIEF::PE::Parser
Main interface to parse PE binaries. In particular, the static Parser::parse functions should be used...
Definition
PE/Parser.hpp:52
LIEF::Visitor
Definition
Visitor.hpp:210
enums.hpp
ENABLE_BITMASK_OPERATORS
#define ENABLE_BITMASK_OPERATORS(X)
Definition
enums.hpp:24
LIEF::PE::details
Definition
DataDirectory.hpp:37
LIEF::PE
Namespace related to the LIEF's PE module.
Definition
Abstract/Header.hpp:32
LIEF::PE::to_string
const char * to_string(CODE_PAGES e)
LIEF::PE::PE_TYPE
PE_TYPE
Definition
PE/enums.hpp:22
LIEF::PE::PE_TYPE::PE32
@ PE32
32bits
Definition
PE/enums.hpp:23
LIEF
LIEF namespace.
Definition
Abstract/Binary.hpp:40
visibility.h
LIEF_API
#define LIEF_API
Definition
visibility.h:41
Generated by
1.17.0