LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Class which parses and transforms an ELF file into a ELF::Binary object. More...
#include <Parser.hpp>
Public Types | |
enum | ELF_TYPE { ELF_UNKNOWN , ELF32 , ELF64 } |
Public Member Functions | |
Parser & | operator= (const Parser &)=delete |
Parser (const Parser &)=delete | |
~Parser () override |
Static Public Member Functions | |
static std::unique_ptr< Binary > | parse (const std::string &file, const ParserConfig &conf=ParserConfig::all()) |
Parse an ELF file and return a LIEF::ELF::Binary object. | |
static std::unique_ptr< Binary > | parse (const std::vector< uint8_t > &data, const ParserConfig &conf=ParserConfig::all()) |
Parse the given raw data as an ELF binary and return a LIEF::ELF::Binary object. | |
static std::unique_ptr< Binary > | parse (std::unique_ptr< BinaryStream > stream, const ParserConfig &conf=ParserConfig::all()) |
Parse the ELF binary from the given stream and return a LIEF::ELF::Binary object. | |
Static Public Member Functions inherited from LIEF::Parser | |
static std::unique_ptr< Binary > | parse (const std::string &filename) |
Construct an LIEF::Binary from the given filename. | |
static std::unique_ptr< Binary > | parse (const std::vector< uint8_t > &raw) |
Construct an LIEF::Binary from the given raw data. | |
static std::unique_ptr< Binary > | parse (std::unique_ptr< BinaryStream > stream) |
Construct an LIEF::Binary from the given stream. |
Static Public Attributes | |
static constexpr uint32_t | NB_MAX_SYMBOLS = 1000000 |
static constexpr uint32_t | DELTA_NB_SYMBOLS = 3000 |
static constexpr uint32_t | NB_MAX_BUCKETS = NB_MAX_SYMBOLS |
static constexpr uint32_t | NB_MAX_CHAINS = 1000000 |
static constexpr uint32_t | NB_MAX_SEGMENTS = 10000 |
static constexpr uint32_t | NB_MAX_RELOCATIONS = 3000000 |
static constexpr uint32_t | NB_MAX_DYNAMIC_ENTRIES = 1000 |
static constexpr uint32_t | NB_MAX_MASKWORD = 512 |
static constexpr uint32_t | MAX_SEGMENT_SIZE = 3_GB |
Class which parses and transforms an ELF file into a ELF::Binary object.
|
delete |
References OAT::Parser.
|
overridevirtual |
Reimplemented from LIEF::Parser.
References LIEF_LOCAL, and OAT::Parser.
References OAT::Parser.
|
static |
Parse an ELF file and return a LIEF::ELF::Binary object.
For weird binaries (e.g. sectionless) you can choose which method to use for counting dynamic symbols
[in] | file | Path to the ELF binary |
[in] | conf | Optional configuration for the parser |
References LIEF::ELF::ParserConfig::all().
|
static |
Parse the given raw data as an ELF binary and return a LIEF::ELF::Binary object.
For weird binaries (e.g. sectionless) you can choose which method use to count dynamic symbols
[in] | data | Raw ELF as a std::vector of uint8_t |
[in] | conf | Optional configuration for the parser |
References LIEF::ELF::ParserConfig::all().
|
static |
Parse the ELF binary from the given stream and return a LIEF::ELF::Binary object.
For weird binaries (e.g. sectionless) you can choose which method use to count dynamic symbols
[in] | stream | The stream which wraps the ELF binary |
[in] | conf | Optional configuration for the parser |
References LIEF::ELF::ParserConfig::all().
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |