LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Class which represents a PE Export. More...
#include <Export.hpp>
Public Types | |
using | entries_t = std::vector<ExportEntry> |
using | it_entries = ref_iterator<entries_t&> |
using | it_const_entries = const_ref_iterator<const entries_t&> |
![]() | |
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 entries_t &entries) | |
Export (std::string name) | |
Export (const details::pe_export_directory_table &header) | |
Export (const Export &)=default | |
Export & | operator= (const Export &)=default |
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 |
![]() | |
Object () | |
Object (const Object &other) | |
Object & | operator= (const Object &other) |
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<ExportEntry> |
using LIEF::PE::Export::it_const_entries = const_ref_iterator<const entries_t&> |
|
default |
|
inline |
References LIEF::PE::E.
|
inline |
LIEF::PE::Export::Export | ( | const details::pe_export_directory_table & | header | ) |
|
default |
|
default |
|
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.
|
inline |
|
inline |
Iterator over the ExportEntry.
|
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 |
Find the export entry with the given name.
|
inline |
const ExportEntry * LIEF::PE::Export::find_entry | ( | uint32_t | ordinal | ) | const |
Find the export entry with the given ordinal number.
|
inline |
const ExportEntry * LIEF::PE::Export::find_entry_at | ( | uint32_t | rva | ) | const |
Find the export entry at the provided RVA.
|
inline |
The major version number (can be user-defined)
|
inline |
|
inline |
The minor version number (can be user-defined)
|
inline |
|
inline |
The name of the library exported (e.g. KERNEL32.dll
)
|
inline |
|
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.
|
inline |
bool LIEF::PE::Export::remove_entry | ( | const ExportEntry & | exp | ) |
Remove the given export entry.
|
inline |
Remove the export entry with the given name.
|
inline |
Remove the export entry with the given RVA.
|
inline |
The time and date that the export data was created.
|
inline |