|
LIEF: Library to Instrument Executable Formats Version 1.0.0
|
Class which represents a PE Export. More...
#include <Export.hpp>


Public Types | |
| using | entries_t = std::vector<std::unique_ptr<ExportEntry>> |
| using | it_entries = ref_iterator<entries_t&, ExportEntry*> |
| using | it_const_entries = const_ref_iterator<const entries_t&, const ExportEntry*> |
| Public Types inherited from LIEF::Object | |
| template<class T> | |
| using | output_t = add_pointer_t<decay_t<T>> |
| template<class T> | |
| using | output_const_t = add_pointer_t<add_const_t<decay_t<T>>> |
Public Member Functions | |
| Export ()=default | |
| Export (std::string name, const std::vector< ExportEntry > &entries) | |
| Export (std::string name) | |
| Export (const details::pe_export_directory_table &header) | |
| Export (const Export &) | |
| Export & | operator= (const Export &) |
| Export (Export &&)=default | |
| Export & | operator= (Export &&)=default |
| ~Export () override=default | |
| uint32_t | export_flags () const |
| According to the PE specifications this value is reserved and should be set to 0. | |
| uint32_t | timestamp () const |
| The time and date that the export data was created. | |
| uint16_t | major_version () const |
| The major version number (can be user-defined). | |
| uint16_t | minor_version () const |
| The minor version number (can be user-defined). | |
| uint32_t | ordinal_base () const |
| The starting number for the exports. Usually this value is set to 1. | |
| const std::string & | name () const |
| The name of the library exported (e.g. KERNEL32.dll). | |
| it_entries | entries () |
| Iterator over the ExportEntry. | |
| it_const_entries | entries () const |
| uint32_t | name_rva () const |
| Address of the ASCII DLL's name (RVA). | |
| uint32_t | export_addr_table_rva () const |
| RVA of the export address table. | |
| uint32_t | export_addr_table_cnt () const |
| Number of entries in the export address table. | |
| uint32_t | names_addr_table_rva () const |
| RVA to the list of exported names. | |
| uint32_t | names_addr_table_cnt () const |
| Number of exports by name. | |
| uint32_t | ord_addr_table_rva () const |
| RVA to the list of exported ordinals. | |
| void | export_flags (uint32_t flags) |
| void | timestamp (uint32_t timestamp) |
| void | major_version (uint16_t major_version) |
| void | minor_version (uint16_t minor_version) |
| void | ordinal_base (uint32_t ordinal_base) |
| void | name (std::string name) |
| const ExportEntry * | find_entry (const std::string &name) const |
| Find the export entry with the given name. | |
| ExportEntry * | find_entry (const std::string &name) |
| const ExportEntry * | find_entry (uint32_t ordinal) const |
| Find the export entry with the given ordinal number. | |
| ExportEntry * | find_entry (uint32_t ordinal) |
| const ExportEntry * | find_entry_at (uint32_t rva) const |
| Find the export entry at the provided RVA. | |
| ExportEntry * | find_entry_at (uint32_t rva) |
| ExportEntry & | add_entry (const ExportEntry &exp) |
| Add the given export and return the newly created and added export. | |
| ExportEntry & | add_entry (std::string name, uint32_t rva) |
| bool | remove_entry (const ExportEntry &exp) |
| Remove the given export entry. | |
| bool | remove_entry (const std::string &name) |
| Remove the export entry with the given name. | |
| bool | remove_entry (uint32_t rva) |
| Remove the export entry with the given RVA. | |
| void | accept (Visitor &visitor) const override |
| 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 () |
| using LIEF::PE::Export::entries_t = std::vector<std::unique_ptr<ExportEntry>> |
| using LIEF::PE::Export::it_const_entries = const_ref_iterator<const entries_t&, const ExportEntry*> |
| using LIEF::PE::Export::it_entries = ref_iterator<entries_t&, ExportEntry*> |
|
default |
Referenced by Export(), Export(), Export(), find_entry(), find_entry(), find_entry_at(), operator<<, operator=(), and operator=().
|
inline |
References add_entry(), LIEF::PE::E, entries(), and name().
| LIEF::PE::Export::Export | ( | const details::pe_export_directory_table & | header | ) |
|
overridedefault |
|
overridevirtual |
Implements LIEF::Object.
| ExportEntry & LIEF::PE::Export::add_entry | ( | const ExportEntry & | exp | ) |
Add the given export and return the newly created and added export.
Referenced by add_entry(), and Export().
|
inline |
References add_entry(), and name().
|
inline |
Iterator over the ExportEntry.
Referenced by Export().
|
inline |
|
inline |
Number of entries in the export address table.
|
inline |
RVA of the export address table.
|
inline |
According to the PE specifications this value is reserved and should be set to 0.
|
inline |
|
inline |
| const ExportEntry * LIEF::PE::Export::find_entry | ( | const std::string & | name | ) | const |
|
inline |
References Export().
| const ExportEntry * LIEF::PE::Export::find_entry | ( | uint32_t | ordinal | ) | const |
Find the export entry with the given ordinal number.
|
inline |
References Export().
| const ExportEntry * LIEF::PE::Export::find_entry_at | ( | uint32_t | rva | ) | const |
Find the export entry at the provided RVA.
Referenced by remove_entry().
|
inline |
The major version number (can be user-defined).
Referenced by major_version().
|
inline |
References major_version().
|
inline |
The minor version number (can be user-defined).
Referenced by minor_version().
|
inline |
References minor_version().
|
inline |
The name of the library exported (e.g. KERNEL32.dll).
Referenced by add_entry(), Export(), Export(), find_entry(), find_entry(), name(), and remove_entry().
|
inline |
References name().
|
inline |
Address of the ASCII DLL's name (RVA).
|
inline |
Number of exports by name.
|
inline |
RVA to the list of exported names.
|
inline |
RVA to the list of exported ordinals.
|
inline |
The starting number for the exports. Usually this value is set to 1.
Referenced by ordinal_base().
|
inline |
References ordinal_base().
| bool LIEF::PE::Export::remove_entry | ( | const ExportEntry & | exp | ) |
Remove the given export entry.
Referenced by remove_entry(), and remove_entry().
|
inline |
Remove the export entry with the given name.
References find_entry(), name(), and remove_entry().
|
inline |
Remove the export entry with the given RVA.
References find_entry_at(), and remove_entry().
|
inline |
The time and date that the export data was created.
Referenced by timestamp().
|
inline |
References timestamp().