LIEF: Library to Instrument Executable Formats Version 2.0.0
Loading...
Searching...
No Matches
LIEF::OAT::Parser Class Reference

Class to parse an OAT file to produce an OAT::Binary. More...

#include <Parser.hpp>

Inheritance diagram for LIEF::OAT::Parser:
Collaboration diagram for LIEF::OAT::Parser:

Public Member Functions

Parseroperator= (const Parser &copy)=delete
 Parser (const Parser &copy)=delete
Public Member Functions inherited from LIEF::ELF::Parser
Parseroperator= (const Parser &)=delete
 Parser (const Parser &)=delete
 ~Parser ()

Static Public Member Functions

static std::unique_ptr< Binaryparse (std::string_view oat_file)
 Parse an OAT file.
static std::unique_ptr< Binaryparse (std::string_view oat_file, std::string_view vdex_file)
template<class PathT, enable_if_path_t< PathT > = 0>
static std::unique_ptr< Binaryparse (const PathT &oat_file)
 Same as parse(std::string_view) but the file is given as a std::filesystem::path.
template<class OatT, class VdexT, enable_if_path_t< OatT, VdexT > = 0>
static std::unique_ptr< Binaryparse (const OatT &oat_file, const VdexT &vdex_file)
 Same as parse(std::string_view, std::string_view) but at least one of the files is given as a std::filesystem::path.
static std::unique_ptr< Binaryparse (std::vector< uint8_t > data)
Static Public Member Functions inherited from LIEF::ELF::Parser
static std::unique_ptr< Binaryparse (std::string_view file, const ParserConfig &conf=ParserConfig::all())
 Parse an ELF file and return a LIEF::ELF::Binary object.
template<class PathT, enable_if_path_t< PathT > = 0>
static std::unique_ptr< Binaryparse (const PathT &file, const ParserConfig &conf=ParserConfig::all())
 Same as parse(std::string_view, const ParserConfig&) but the file is given as a std::filesystem::path.
static std::unique_ptr< Binaryparse (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< Binaryparse (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 std::unique_ptr< Binaryparse_from_memory (uintptr_t address, const ParserConfig &conf=ParserConfig::all())
 Parse the ELF binary from the given memory address.
static std::unique_ptr< Binaryparse_from_memory (uintptr_t address, size_t size, const ParserConfig &conf=ParserConfig::all())
 Parse the ELF binary from the given memory address with the given size.
static std::unique_ptr< Binaryparse_from_dump (std::string_view filepath, uint64_t addr, const ParserConfig &conf=ParserConfig::all())
 Parse an ELF binary from a memory dump located on disk.
template<class PathT, enable_if_path_t< PathT > = 0>
static std::unique_ptr< Binaryparse_from_dump (const PathT &filepath, uint64_t addr, const ParserConfig &conf=ParserConfig::all())
 Same as parse_from_dump(std::string_view, uint64_t, const ParserConfig&) but the dump file is given as a std::filesystem::path.
static std::unique_ptr< Binaryparse_from_dump (BinaryStream &stream, uint64_t addr, const ParserConfig &conf=ParserConfig::all())
 Same as parse_from_dump(std::string_view, uint64_t, const ParserConfig&) but the dump is wrapped in the given non-owned stream.
static std::unique_ptr< Binaryparse_from_dump (std::unique_ptr< BinaryStream > stream, uint64_t addr, const ParserConfig &conf=ParserConfig::all())
 Same as parse_from_dump(std::string_view, uint64_t, const ParserConfig&) but the dump is wrapped in the given owned stream.
Static Public Member Functions inherited from LIEF::Parser
static std::unique_ptr< Binaryparse (std::string_view filename)
 Construct an LIEF::Binary from the given filename.
template<class PathT, enable_if_path_t< PathT > = 0>
static std::unique_ptr< Binaryparse (const PathT &filename)
 Same as parse(std::string_view) but the file is given as a std::filesystem::path.
static std::unique_ptr< Binaryparse (const std::vector< uint8_t > &raw)
 Construct an LIEF::Binary from the given raw data.
static std::unique_ptr< Binaryparse (std::unique_ptr< BinaryStream > stream)
 Construct an LIEF::Binary from the given stream.

Additional Inherited Members

Public Types inherited from LIEF::ELF::Parser
enum  ELF_TYPE { ELF_UNKNOWN , ELF32 , ELF64 }
Static Public Attributes inherited from LIEF::ELF::Parser
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 MAX_SEGMENT_SIZE = 3_GB

Detailed Description

Class to parse an OAT file to produce an OAT::Binary.

Constructor & Destructor Documentation

◆ Parser()

LIEF::OAT::Parser::Parser ( const Parser & copy)
delete

References Parser().

Referenced by operator=(), and Parser().

Member Function Documentation

◆ operator=()

Parser & LIEF::OAT::Parser::operator= ( const Parser & copy)
delete

References Parser().

◆ parse() [1/5]

template<class OatT, class VdexT, enable_if_path_t< OatT, VdexT > = 0>
std::unique_ptr< Binary > LIEF::OAT::Parser::parse ( const OatT & oat_file,
const VdexT & vdex_file )
inlinestatic

Same as parse(std::string_view, std::string_view) but at least one of the files is given as a std::filesystem::path.

References parse().

◆ parse() [2/5]

template<class PathT, enable_if_path_t< PathT > = 0>
std::unique_ptr< Binary > LIEF::OAT::Parser::parse ( const PathT & oat_file)
inlinestatic

Same as parse(std::string_view) but the file is given as a std::filesystem::path.

References parse().

◆ parse() [3/5]

std::unique_ptr< Binary > LIEF::OAT::Parser::parse ( std::string_view oat_file)
static

Parse an OAT file.

Referenced by parse(), and parse().

◆ parse() [4/5]

std::unique_ptr< Binary > LIEF::OAT::Parser::parse ( std::string_view oat_file,
std::string_view vdex_file )
static

◆ parse() [5/5]

std::unique_ptr< Binary > LIEF::OAT::Parser::parse ( std::vector< uint8_t > data)
static

The documentation for this class was generated from the following file: