|
LIEF: Library to Instrument Executable Formats Version 1.0.0
|
Class representing core auxv object. More...
#include <CoreAuxv.hpp>


Public Member Functions | |
| CoreAuxv (ARCH arch, Header::CLASS cls, std::string name, uint32_t type, description_t description) | |
| std::unique_ptr< Note > | clone () const override |
| Clone the current note and keep its polymorphic type. | |
| std::map< TYPE, uint64_t > | values () const |
| A map of CoreAuxv::TYPE and the value. | |
| result< uint64_t > | get (TYPE type) const |
| Return the value associated with the provided TYPE or a lief_errors::not_found if the type is not present. | |
| result< uint64_t > | operator[] (TYPE type) const |
| bool | set (TYPE type, uint64_t value) |
| bool | set (const std::map< TYPE, uint64_t > &values) |
| void | dump (std::ostream &os) const override |
| void | accept (Visitor &visitor) const override |
| ~CoreAuxv () override=default | |
| Public Member Functions inherited from LIEF::ELF::Note | |
| Note & | operator= (const Note ©)=default |
| Note (const Note ©)=default | |
| ~Note () override=default | |
| const std::string & | name () const |
| Return the name of the note (also known as 'owner' ). | |
| const std::string & | section_name () const |
| Return the section name in which the note is or should be stored. | |
| TYPE | type () const |
| Return the type of the note. This type does not match the NT_ type value. For accessing the original NT_ value, check original_type(). | |
| uint32_t | original_type () const |
| The original NT_xxx integer value. The meaning of this value likely depends on the owner of the note. | |
| span< const uint8_t > | description () const |
| Return the description associated with the note. | |
| span< uint8_t > | description () |
| void | name (std::string name) |
| void | description (description_t description) |
| Change the description of the note. | |
| uint64_t | size () const |
| Size of the raw note which includes padding. | |
| void | accept (Visitor &visitor) const override |
| template<class T> | |
| const T * | cast () const |
| template<class T> | |
| T * | cast () |
| Public Member Functions inherited from LIEF::Object | |
| Object () | |
| Object (const Object &other) | |
| Object & | operator= (const Object &other) |
| Object (Object &&other) noexcept=default | |
| Object & | operator= (Object &&other) noexcept=default |
| template<class T> | |
| output_t< T > | as () |
| template<class T> | |
| output_const_t< T > | as () const |
| virtual bool | operator== (const Object &other) const |
| virtual bool | operator!= (const Object &other) const |
| virtual | ~Object () |
Static Public Member Functions | |
| static bool | classof (const Note *note) |
| Static Public Member Functions inherited from LIEF::ELF::Note | |
| static result< TYPE > | convert_type (Header::FILE_TYPE ftype, uint32_t type, const std::string &name) |
| Convert the raw integer note type into a TYPE according to the owner. | |
| static result< const char * > | type_to_section (TYPE type) |
| Try to determine the ELF section name associated with the TYPE provided in parameter. | |
| static result< std::string > | note_to_section (const Note ¬e) |
| static result< const char * > | type_owner (TYPE type) |
| Try to determine the owner's name of the TYPE provided in parameter. | |
| static std::unique_ptr< Note > | create (const std::string &name, uint32_t type, description_t description, std::string section_name, Header::FILE_TYPE ftype=Header::FILE_TYPE::NONE, ARCH arch=ARCH::NONE, Header::CLASS cls=Header::CLASS::NONE) |
| Create a new note from the given parameters. Additional information such as the architecture or the ELF class could be required for creating notes like Coredump notes. | |
| static std::unique_ptr< Note > | create (const std::string &name, TYPE type, description_t description, std::string section_name, ARCH arch=ARCH::NONE, Header::CLASS cls=Header::CLASS::NONE) |
| Create a new note from the given parameters. Additional information such as the architecture or the ELF class could be required for creating notes like Coredump notes. | |
| static std::unique_ptr< Note > | create (BinaryStream &stream, std::string section_name, Header::FILE_TYPE ftype=Header::FILE_TYPE::NONE, ARCH arch=ARCH::NONE, Header::CLASS cls=Header::CLASS::NONE) |
| Create a new note from the given stream. Additional information such as the architecture or the ELF class could be required for creating notes like Coredump notes. | |
Class representing core auxv object.
|
strong |
| Enumerator | |
|---|---|
| END | End of vector |
| IGNORE_TY | Entry should be ignored |
| EXECFD | File descriptor of program |
| PHDR | Program headers for program |
| PHENT | Size of program header entry |
| PHNUM | Number of program headers |
| PAGESZ | System page size |
| BASE | Base address of interpreter |
| FLAGS | Flags |
| ENTRY | Entry point of program |
| NOTELF | Program is not ELF |
| UID | Real uid |
| EUID | Effective uid |
| GID | Real gid |
| EGID | Effective gid |
| TGT_PLATFORM | String identifying platform. |
| HWCAP | Machine dependent hints about processor capabilities. |
| CLKTCK | Frequency of times() |
| FPUCW | Used FPU control word. |
| DCACHEBSIZE | Data cache block size. |
| ICACHEBSIZE | Instruction cache block size. |
| UCACHEBSIZE | Instruction cache block size. |
| IGNOREPPC | Entry should be ignored. |
| SECURE | Boolean, was exec setuid-like?. |
| BASE_PLATFORM | String identifying real platform |
| RANDOM | Address of 16 random bytes |
| HWCAP2 | Extension of AT_HWCAP |
| EXECFN | Filename of executable |
| SYSINFO | Filename of executable |
| SYSINFO_EHDR | Pointer to ELF header of system-supplied DSO. |
|
inline |
References LIEF::ELF::Note::CORE_AUXV, LIEF::ELF::Note::description(), LIEF::ELF::Note::name(), LIEF::ELF::Note::Note(), and LIEF::ELF::Note::type().
Referenced by clone(), and operator<<.
|
overridedefault |
References LIEF_API.
|
overridevirtual |
Implements LIEF::Object.
|
inlinestatic |
References LIEF::ELF::Note::CORE_AUXV, LIEF::ELF::Note::Note(), and LIEF::ELF::Note::type().
|
inlineoverridevirtual |
Clone the current note and keep its polymorphic type.
Reimplemented from LIEF::ELF::Note.
References CoreAuxv().
|
overridevirtual |
Reimplemented from LIEF::ELF::Note.
Referenced by operator<<.
Return the value associated with the provided TYPE or a lief_errors::not_found if the type is not present.
References LIEF::ELF::Note::type().
Referenced by operator[]().
References get(), and LIEF::ELF::Note::type().
| bool LIEF::ELF::CoreAuxv::set | ( | TYPE | type, |
| uint64_t | value ) |
References LIEF::ELF::Note::type().
| std::map< TYPE, uint64_t > LIEF::ELF::CoreAuxv::values | ( | ) | const |
A map of CoreAuxv::TYPE and the value.
Referenced by set().