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
46
public
:
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,
55
NO_BIND = 0x0800,
56
APPCONTAINER = 0x1000,
57
WDM_DRIVER = 0x2000,
58
GUARD_CF = 0x4000,
59
TERMINAL_SERVER_AWARE = 0x8000,
60
};
61
62
enum class
SUBSYSTEM
:
size_t
{
63
UNKNOWN = 0,
64
NATIVE = 1,
65
WINDOWS_GUI = 2,
66
WINDOWS_CUI = 3,
67
OS2_CUI = 5,
68
POSIX_CUI = 7,
69
NATIVE_WINDOWS = 8,
70
WINDOWS_CE_GUI = 9,
71
EFI_APPLICATION = 10,
72
EFI_BOOT_SERVICE_DRIVER = 11,
73
EFI_RUNTIME_DRIVER = 12,
74
EFI_ROM = 13,
75
XBOX = 14,
76
WINDOWS_BOOT_APPLICATION = 16,
77
XBOX_CODE_CATALOG = 17,
78
};
79
80
OptionalHeader
(
const
details::pe32_optional_header& header);
81
OptionalHeader
(
const
details::pe64_optional_header& header);
82
~OptionalHeader
()
override
=
default
;
83
84
OptionalHeader
&
operator=
(
const
OptionalHeader
&) =
default
;
85
OptionalHeader
(
const
OptionalHeader
&) =
default
;
86
87
static
OptionalHeader
create
(
PE_TYPE
type);
88
90
PE_TYPE
magic
()
const
{
91
return
magic_;
92
}
93
95
uint8_t
major_linker_version
()
const
{
96
return
major_linker_version_;
97
}
98
100
uint8_t
minor_linker_version
()
const
{
101
return
minor_linker_version_;
102
}
103
107
uint32_t
sizeof_code
()
const
{
108
return
sizeof_code_;
109
}
110
117
uint32_t
sizeof_initialized_data
()
const
{
118
return
sizeof_initialized_data_;
119
}
120
127
uint32_t
sizeof_uninitialized_data
()
const
{
128
return
sizeof_uninitialized_data_;
129
}
130
137
uint32_t
addressof_entrypoint
()
const
{
138
return
entrypoint_;
139
}
140
142
uint32_t
baseof_code
()
const
{
143
return
baseof_code_;
144
}
145
149
uint32_t
baseof_data
()
const
{
150
return
baseof_data_;
151
}
152
154
uint64_t
imagebase
()
const
{
155
return
imagebase_;
156
}
157
162
uint32_t
section_alignment
()
const
{
163
return
section_align_;
164
}
165
168
uint32_t
file_alignment
()
const
{
169
return
file_align_;
170
}
171
173
uint16_t
major_operating_system_version
()
const
{
174
return
major_os_version_;
175
}
176
178
uint16_t
minor_operating_system_version
()
const
{
179
return
minor_os_version_;
180
}
181
183
uint16_t
major_image_version
()
const
{
184
return
major_image_version_;
185
}
186
188
uint16_t
minor_image_version
()
const
{
189
return
minor_image_version_;
190
}
191
193
uint16_t
major_subsystem_version
()
const
{
194
return
major_subsys_version_;
195
}
196
198
uint16_t
minor_subsystem_version
()
const
{
199
return
minor_subsys_version_;
200
}
201
204
uint32_t
win32_version_value
()
const
{
205
return
win32_version_value_;
206
}
207
213
uint32_t
sizeof_image
()
const
{
214
return
sizeof_image_;
215
}
216
219
uint32_t
sizeof_headers
()
const
{
220
return
sizeof_headers_;
221
}
222
229
uint32_t
checksum
()
const
{
230
return
checksum_;
231
}
232
234
SUBSYSTEM
subsystem
()
const
{
235
return
subsystem_;
236
}
237
241
uint32_t
dll_characteristics
()
const
{
242
return
dll_characteristics_;
243
}
244
249
uint64_t
sizeof_stack_reserve
()
const
{
250
return
sizeof_stack_reserve_;
251
}
252
254
uint64_t
sizeof_stack_commit
()
const
{
255
return
sizeof_stack_commit_;
256
}
257
259
uint64_t
sizeof_heap_reserve
()
const
{
260
return
sizeof_heap_reserve_;
261
}
262
264
uint64_t
sizeof_heap_commit
()
const
{
265
return
sizeof_heap_commit_;
266
}
267
270
uint32_t
loader_flags
()
const
{
271
return
loader_flags_;
272
}
273
275
uint32_t
numberof_rva_and_size
()
const
{
276
return
nb_rva_size_;
277
}
278
280
bool
has
(
DLL_CHARACTERISTICS
c)
const
{
281
return
(
dll_characteristics
() &
static_cast<
uint32_t
>
(c)) != 0;
282
}
283
286
std::vector<DLL_CHARACTERISTICS>
dll_characteristics_list
()
const
;
287
289
void
add
(
DLL_CHARACTERISTICS
c) {
290
dll_characteristics
(
dll_characteristics
() |
static_cast<
uint32_t
>
(c));
291
}
292
294
void
remove
(
DLL_CHARACTERISTICS
c) {
295
dll_characteristics
(
dll_characteristics
() & (~
static_cast<
uint32_t
>
(c)));
296
}
297
298
void
magic
(
PE_TYPE
magic
) {
299
magic_ =
magic
;
300
}
301
302
void
major_linker_version
(uint8_t value) {
303
major_linker_version_ = value;
304
}
305
306
void
minor_linker_version
(uint8_t value) {
307
minor_linker_version_ = value;
308
}
309
310
void
sizeof_code
(uint32_t value) {
311
sizeof_code_ = value;
312
}
313
314
void
sizeof_initialized_data
(uint32_t value) {
315
sizeof_initialized_data_ = value;
316
}
317
318
void
sizeof_uninitialized_data
(uint32_t value) {
319
sizeof_uninitialized_data_ = value;
320
}
321
322
void
addressof_entrypoint
(uint32_t value) {
323
entrypoint_ = value;
324
}
325
326
void
baseof_code
(uint32_t value) {
327
baseof_code_ = value;
328
}
329
330
void
baseof_data
(uint32_t value) {
331
baseof_data_ = value;
332
}
333
334
void
imagebase
(uint64_t value) {
335
imagebase_ = value;
336
}
337
338
void
section_alignment
(uint32_t value) {
339
section_align_ = value;
340
}
341
342
void
file_alignment
(uint32_t value) {
343
file_align_ = value;
344
}
345
346
void
major_operating_system_version
(uint16_t value) {
347
major_os_version_ = value;
348
}
349
350
void
minor_operating_system_version
(uint16_t value) {
351
minor_os_version_ = value;
352
}
353
354
void
major_image_version
(uint16_t value) {
355
major_image_version_ = value;
356
}
357
358
void
minor_image_version
(uint16_t value) {
359
minor_image_version_ = value;
360
}
361
362
void
major_subsystem_version
(uint16_t value) {
363
major_subsys_version_ = value;
364
}
365
366
void
minor_subsystem_version
(uint16_t value) {
367
minor_subsys_version_ = value;
368
}
369
370
void
win32_version_value
(uint32_t value) {
371
win32_version_value_ = value;
372
}
373
374
void
sizeof_image
(uint32_t value) {
375
sizeof_image_ = value;
376
}
377
378
void
sizeof_headers
(uint32_t value) {
379
sizeof_headers_ = value;
380
}
381
382
void
checksum
(uint32_t value) {
383
checksum_ = value;
384
}
385
386
void
subsystem
(
SUBSYSTEM
value) {
387
subsystem_ = value;
388
}
389
390
void
dll_characteristics
(uint32_t value) {
391
dll_characteristics_ = value;
392
}
393
394
void
sizeof_stack_reserve
(uint64_t value) {
395
sizeof_stack_reserve_ = value;
396
}
397
398
void
sizeof_stack_commit
(uint64_t value) {
399
sizeof_stack_commit_ = value;
400
}
401
402
void
sizeof_heap_reserve
(uint64_t value) {
403
sizeof_heap_reserve_ = value;
404
}
405
406
void
sizeof_heap_commit
(uint64_t value) {
407
sizeof_heap_commit_ = value;
408
}
409
410
void
loader_flags
(uint32_t value) {
411
loader_flags_ = value;
412
}
413
414
void
numberof_rva_and_size
(uint32_t value) {
415
nb_rva_size_ = value;
416
}
417
418
void
accept
(
Visitor
& visitor)
const override
;
419
420
OptionalHeader
&
operator+=
(
DLL_CHARACTERISTICS
c) {
421
add
(c);
422
return
*
this
;
423
}
424
OptionalHeader
&
operator-=
(
DLL_CHARACTERISTICS
c) {
425
remove
(c);
426
return
*
this
;
427
}
428
429
LIEF_API
friend
std::ostream&
operator<<
(std::ostream& os,
430
const
OptionalHeader
& entry);
431
432
private
:
433
OptionalHeader
() =
default
;
434
435
PE_TYPE
magic_ =
PE_TYPE::PE32
;
436
uint8_t major_linker_version_ = 0;
437
uint8_t minor_linker_version_ = 0;
438
uint32_t sizeof_code_ = 0;
439
uint32_t sizeof_initialized_data_ = 0;
440
uint32_t sizeof_uninitialized_data_ = 0;
441
uint32_t entrypoint_ = 0;
442
uint32_t baseof_code_ = 0;
443
uint32_t baseof_data_ = 0;
444
uint64_t imagebase_ = 0;
445
uint32_t section_align_ = 0;
446
uint32_t file_align_ = 0;
447
uint16_t major_os_version_ = 0;
448
uint16_t minor_os_version_ = 0;
449
uint16_t major_image_version_ = 0;
450
uint16_t minor_image_version_ = 0;
451
uint16_t major_subsys_version_ = 0;
452
uint16_t minor_subsys_version_ = 0;
453
uint32_t win32_version_value_ = 0;
454
uint32_t sizeof_image_ = 0;
455
uint32_t sizeof_headers_ = 0;
456
uint32_t checksum_ = 0;
457
SUBSYSTEM
subsystem_ =
SUBSYSTEM::UNKNOWN
;
458
uint32_t dll_characteristics_ = 0;
459
uint64_t sizeof_stack_reserve_ = 0;
460
uint64_t sizeof_stack_commit_ = 0;
461
uint64_t sizeof_heap_reserve_ = 0;
462
uint64_t sizeof_heap_commit_ = 0;
463
uint32_t loader_flags_ = 0;
464
uint32_t nb_rva_size_ = 0;
465
};
466
467
LIEF_API
const
char
*
to_string
(
OptionalHeader::DLL_CHARACTERISTICS
);
468
LIEF_API
const
char
*
to_string
(
OptionalHeader::SUBSYSTEM
);
469
470
}
471
}
472
473
ENABLE_BITMASK_OPERATORS
(
LIEF::PE::OptionalHeader::DLL_CHARACTERISTICS
);
474
475
#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:56
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:183
LIEF::PE::OptionalHeader::baseof_data
void baseof_data(uint32_t value)
Definition
OptionalHeader.hpp:330
LIEF::PE::OptionalHeader::minor_subsystem_version
uint16_t minor_subsystem_version() const
The minor version number of the subsystem.
Definition
OptionalHeader.hpp:198
LIEF::PE::OptionalHeader::sizeof_code
void sizeof_code(uint32_t value)
Definition
OptionalHeader.hpp:310
LIEF::PE::OptionalHeader::SUBSYSTEM
SUBSYSTEM
Definition
OptionalHeader.hpp:62
LIEF::PE::OptionalHeader::SUBSYSTEM::UNKNOWN
@ UNKNOWN
An unknown subsystem.
Definition
OptionalHeader.hpp:63
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:275
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:127
LIEF::PE::OptionalHeader::win32_version_value
void win32_version_value(uint32_t value)
Definition
OptionalHeader.hpp:370
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:254
LIEF::PE::OptionalHeader::major_subsystem_version
void major_subsystem_version(uint16_t value)
Definition
OptionalHeader.hpp:362
LIEF::PE::OptionalHeader::major_operating_system_version
void major_operating_system_version(uint16_t value)
Definition
OptionalHeader.hpp:346
LIEF::PE::OptionalHeader::operator=
OptionalHeader & operator=(const OptionalHeader &)=default
LIEF::PE::OptionalHeader::dll_characteristics
void dll_characteristics(uint32_t value)
Definition
OptionalHeader.hpp:390
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:280
LIEF::PE::OptionalHeader::sizeof_initialized_data
void sizeof_initialized_data(uint32_t value)
Definition
OptionalHeader.hpp:314
LIEF::PE::OptionalHeader::addressof_entrypoint
void addressof_entrypoint(uint32_t value)
Definition
OptionalHeader.hpp:322
LIEF::PE::OptionalHeader::magic
void magic(PE_TYPE magic)
Definition
OptionalHeader.hpp:298
LIEF::PE::OptionalHeader::minor_linker_version
uint8_t minor_linker_version() const
The linker minor version.
Definition
OptionalHeader.hpp:100
LIEF::PE::OptionalHeader::major_linker_version
uint8_t major_linker_version() const
The linker major version.
Definition
OptionalHeader.hpp:95
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:219
LIEF::PE::OptionalHeader::remove
void remove(DLL_CHARACTERISTICS c)
Remove a DLL_CHARACTERISTICS from the current characteristics.
Definition
OptionalHeader.hpp:294
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:173
LIEF::PE::OptionalHeader::~OptionalHeader
~OptionalHeader() override=default
LIEF::PE::OptionalHeader::minor_linker_version
void minor_linker_version(uint8_t value)
Definition
OptionalHeader.hpp:306
LIEF::PE::OptionalHeader::sizeof_image
void sizeof_image(uint32_t value)
Definition
OptionalHeader.hpp:374
LIEF::PE::OptionalHeader::minor_operating_system_version
void minor_operating_system_version(uint16_t value)
Definition
OptionalHeader.hpp:350
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:204
LIEF::PE::OptionalHeader::loader_flags
void loader_flags(uint32_t value)
Definition
OptionalHeader.hpp:410
LIEF::PE::OptionalHeader::sizeof_headers
void sizeof_headers(uint32_t value)
Definition
OptionalHeader.hpp:378
LIEF::PE::OptionalHeader::sizeof_heap_commit
uint64_t sizeof_heap_commit() const
Size of the heap to commit.
Definition
OptionalHeader.hpp:264
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:213
LIEF::PE::OptionalHeader::imagebase
uint64_t imagebase() const
The preferred base address when mapping the binary in memory.
Definition
OptionalHeader.hpp:154
LIEF::PE::OptionalHeader::baseof_data
uint32_t baseof_data() const
Address relative to the imagebase where the binary's data starts.
Definition
OptionalHeader.hpp:149
LIEF::PE::OptionalHeader::imagebase
void imagebase(uint64_t value)
Definition
OptionalHeader.hpp:334
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:162
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:107
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:178
LIEF::PE::OptionalHeader::major_subsystem_version
uint16_t major_subsystem_version() const
The major version number of the subsystem.
Definition
OptionalHeader.hpp:193
LIEF::PE::OptionalHeader::Parser
friend class Parser
Definition
OptionalHeader.hpp:43
LIEF::PE::OptionalHeader::subsystem
void subsystem(SUBSYSTEM value)
Definition
OptionalHeader.hpp:386
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:270
LIEF::PE::OptionalHeader::subsystem
SUBSYSTEM subsystem() const
Target subsystem like Driver, XBox, Windows GUI, ...
Definition
OptionalHeader.hpp:234
LIEF::PE::OptionalHeader::section_alignment
void section_alignment(uint32_t value)
Definition
OptionalHeader.hpp:338
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:168
LIEF::PE::OptionalHeader::sizeof_stack_reserve
void sizeof_stack_reserve(uint64_t value)
Definition
OptionalHeader.hpp:394
LIEF::PE::OptionalHeader::baseof_code
void baseof_code(uint32_t value)
Definition
OptionalHeader.hpp:326
LIEF::PE::OptionalHeader::file_alignment
void file_alignment(uint32_t value)
Definition
OptionalHeader.hpp:342
LIEF::PE::OptionalHeader::operator+=
OptionalHeader & operator+=(DLL_CHARACTERISTICS c)
Definition
OptionalHeader.hpp:420
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:142
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:249
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:117
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:241
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:229
LIEF::PE::OptionalHeader::major_image_version
void major_image_version(uint16_t value)
Definition
OptionalHeader.hpp:354
LIEF::PE::OptionalHeader::sizeof_uninitialized_data
void sizeof_uninitialized_data(uint32_t value)
Definition
OptionalHeader.hpp:318
LIEF::PE::OptionalHeader::operator-=
OptionalHeader & operator-=(DLL_CHARACTERISTICS c)
Definition
OptionalHeader.hpp:424
LIEF::PE::OptionalHeader::minor_image_version
void minor_image_version(uint16_t value)
Definition
OptionalHeader.hpp:358
LIEF::PE::OptionalHeader::minor_image_version
uint16_t minor_image_version() const
The minor version number of the image.
Definition
OptionalHeader.hpp:188
LIEF::PE::OptionalHeader::major_linker_version
void major_linker_version(uint8_t value)
Definition
OptionalHeader.hpp:302
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:137
LIEF::PE::OptionalHeader::minor_subsystem_version
void minor_subsystem_version(uint16_t value)
Definition
OptionalHeader.hpp:366
LIEF::PE::OptionalHeader::add
void add(DLL_CHARACTERISTICS c)
Add a DLL_CHARACTERISTICS to the current characteristics.
Definition
OptionalHeader.hpp:289
LIEF::PE::OptionalHeader::checksum
void checksum(uint32_t value)
Definition
OptionalHeader.hpp:382
LIEF::PE::OptionalHeader::numberof_rva_and_size
void numberof_rva_and_size(uint32_t value)
Definition
OptionalHeader.hpp:414
LIEF::PE::OptionalHeader::sizeof_stack_commit
void sizeof_stack_commit(uint64_t value)
Definition
OptionalHeader.hpp:398
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:259
LIEF::PE::OptionalHeader::magic
PE_TYPE magic() const
Magic bytes: either PE32 or PE32+ for 64-bits PE files.
Definition
OptionalHeader.hpp:90
LIEF::PE::OptionalHeader::sizeof_heap_reserve
void sizeof_heap_reserve(uint64_t value)
Definition
OptionalHeader.hpp:402
LIEF::PE::OptionalHeader::sizeof_heap_commit
void sizeof_heap_commit(uint64_t value)
Definition
OptionalHeader.hpp:406
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:212
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:43
Generated by
1.17.0