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
{
27
static
const
ParserConfig
&
default_conf
() {
28
static
const
ParserConfig
DEFAULT
;
29
return
DEFAULT
;
30
}
31
32
static
ParserConfig
all
() {
33
ParserConfig
config;
34
config.
parse_exceptions
=
true
;
35
config.
parse_arm64x_binary
=
true
;
36
return
config;
37
}
38
40
bool
parse_signature
=
true
;
41
43
bool
parse_exports
=
true
;
44
46
bool
parse_imports
=
true
;
47
49
bool
parse_rsrc
=
true
;
50
52
bool
parse_reloc
=
true
;
53
58
bool
parse_exceptions
=
false
;
59
64
bool
parse_arm64x_binary
=
false
;
65
66
std::string
to_string
()
const
;
67
68
LIEF_API
friend
69
std::ostream&
operator<<
(std::ostream& os,
const
ParserConfig
& config)
70
{
71
os << config.
to_string
();
72
return
os;
73
}
74
};
75
76
}
77
}
78
#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 tweak the PE Parser (PE::Parser).
Definition
PE/ParserConfig.hpp:26
LIEF::PE::ParserConfig::parse_imports
bool parse_imports
Parse PE Import Directory.
Definition
PE/ParserConfig.hpp:46
LIEF::PE::ParserConfig::parse_signature
bool parse_signature
Parse PE Authenticode signature.
Definition
PE/ParserConfig.hpp:40
LIEF::PE::ParserConfig::parse_exceptions
bool parse_exceptions
Whether it should parse in-depth exceptions metadata.
Definition
PE/ParserConfig.hpp:58
LIEF::PE::ParserConfig::parse_rsrc
bool parse_rsrc
Parse PE resources tree.
Definition
PE/ParserConfig.hpp:49
LIEF::PE::ParserConfig::to_string
std::string to_string() const
LIEF::PE::ParserConfig::parse_reloc
bool parse_reloc
Parse PE relocations.
Definition
PE/ParserConfig.hpp:52
LIEF::PE::ParserConfig::parse_exports
bool parse_exports
Parse PE Exports Directory.
Definition
PE/ParserConfig.hpp:43
LIEF::PE::ParserConfig::operator<<
friend std::ostream & operator<<(std::ostream &os, const ParserConfig &config)
Definition
PE/ParserConfig.hpp:69
LIEF::PE::ParserConfig::all
static ParserConfig all()
Definition
PE/ParserConfig.hpp:32
LIEF::PE::ParserConfig::default_conf
static const ParserConfig & default_conf()
Definition
PE/ParserConfig.hpp:27
LIEF::PE::ParserConfig::parse_arm64x_binary
bool parse_arm64x_binary
Whether it should parse nested ARM64X binary.
Definition
PE/ParserConfig.hpp:64
visibility.h
LIEF_API
#define LIEF_API
Definition
visibility.h:41
Generated by
1.17.0