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
PE/ParserConfig.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_PARSER_CONFIG_H
17
#define LIEF_PE_PARSER_CONFIG_H
18
#include <string>
19
#include <ostream>
20
#include "
LIEF/visibility.h
"
21
22
namespace
LIEF
{
23
namespace
PE
{
24
26
struct
LIEF_API
ParserConfig
{
28
static
const
ParserConfig
&
default_conf
() {
29
static
const
ParserConfig
DEFAULT
;
30
return
DEFAULT
;
31
}
32
34
static
ParserConfig
all
() {
35
ParserConfig
config;
36
config.
parse_exceptions
=
true
;
37
config.
parse_arm64x_binary
=
true
;
38
return
config;
39
}
40
42
bool
parse_signature
=
true
;
43
45
bool
parse_exports
=
true
;
46
48
bool
parse_imports
=
true
;
49
51
bool
parse_rsrc
=
true
;
52
54
bool
parse_reloc
=
true
;
55
60
bool
parse_exceptions
=
false
;
61
66
bool
parse_arm64x_binary
=
false
;
67
68
std::string
to_string
()
const
;
69
70
LIEF_API
friend
71
std::ostream&
operator<<
(std::ostream& os,
const
ParserConfig
& config)
72
{
73
os << config.
to_string
();
74
return
os;
75
}
76
};
77
78
}
79
}
80
#endif
LIEF::PE
Namespace related to the LIEF's PE module.
Definition
Abstract/Header.hpp:32
LIEF::PE::IMPHASH_MODE::DEFAULT
@ DEFAULT
Definition
PE/utils.hpp:34
LIEF
LIEF namespace.
Definition
Abstract/Binary.hpp:40
LIEF::PE::ParserConfig
This structure is used to configure the behavior of the PE Parser (PE::Parser).
Definition
PE/ParserConfig.hpp:26
LIEF::PE::ParserConfig::parse_imports
bool parse_imports
Whether to parse the PE Import Directory.
Definition
PE/ParserConfig.hpp:48
LIEF::PE::ParserConfig::parse_signature
bool parse_signature
Whether to parse the PE Authenticode signature.
Definition
PE/ParserConfig.hpp:42
LIEF::PE::ParserConfig::parse_exceptions
bool parse_exceptions
Whether to parse in-depth exception metadata.
Definition
PE/ParserConfig.hpp:60
LIEF::PE::ParserConfig::parse_rsrc
bool parse_rsrc
Whether to parse the PE resources tree.
Definition
PE/ParserConfig.hpp:51
LIEF::PE::ParserConfig::to_string
std::string to_string() const
LIEF::PE::ParserConfig::parse_reloc
bool parse_reloc
Whether to parse PE relocations.
Definition
PE/ParserConfig.hpp:54
LIEF::PE::ParserConfig::parse_exports
bool parse_exports
Whether to parse the PE Export Directory.
Definition
PE/ParserConfig.hpp:45
LIEF::PE::ParserConfig::operator<<
friend std::ostream & operator<<(std::ostream &os, const ParserConfig &config)
Definition
PE/ParserConfig.hpp:71
LIEF::PE::ParserConfig::all
static ParserConfig all()
Returns a configuration that enables all optional parsing features.
Definition
PE/ParserConfig.hpp:34
LIEF::PE::ParserConfig::default_conf
static const ParserConfig & default_conf()
Returns the default configuration for the PE Parser.
Definition
PE/ParserConfig.hpp:28
LIEF::PE::ParserConfig::parse_arm64x_binary
bool parse_arm64x_binary
Whether to parse nested ARM64X binaries.
Definition
PE/ParserConfig.hpp:66
visibility.h
LIEF_API
#define LIEF_API
Definition
visibility.h:41
Generated by
1.17.0