LIEF: Library to Instrument Executable Formats Version 0.15.0
|
Class that represents a PE delayed import. More...
#include <DelayImport.hpp>
Public Types | |
using | entries_t = std::vector<DelayImportEntry> |
using | it_entries = ref_iterator<entries_t&> |
using | it_const_entries = const_ref_iterator<const entries_t&> |
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 | |
DelayImport (const details::delay_imports &import, PE_TYPE type) | |
DelayImport (std::string name) | |
DelayImport (const DelayImport &) | |
DelayImport & | operator= (const DelayImport &) |
DelayImport (DelayImport &&) | |
DelayImport & | operator= (DelayImport &&) |
void | swap (DelayImport &other) |
uint32_t | attribute () const |
According to the official PE specifications, this value is reserved and should be set to 0. | |
void | attribute (uint32_t hdl) |
const std::string & | name () const |
Return the library's name (e.g. kernel32.dll ) | |
void | name (std::string name) |
uint32_t | handle () const |
The RVA of the module handle (in the .data section) It is used for storage by the routine that is supplied to manage delay-loading. | |
void | handle (uint32_t hdl) |
uint32_t | iat () const |
RVA of the delay-load import address table. | |
void | iat (uint32_t iat) |
uint32_t | names_table () const |
RVA of the delay-load import names table. The content of this table has the layout as the Import lookup table. | |
void | names_table (uint32_t value) |
uint32_t | biat () const |
RVA of the bound delay-load import address table or 0 if the table does not exist. | |
void | biat (uint32_t value) |
uint32_t | uiat () const |
RVA of the unload delay-load import address table or 0 if the table does not exist. | |
void | uiat (uint32_t value) |
uint32_t | timestamp () const |
The timestamp of the DLL to which this image has been bound. | |
void | timestamp (uint32_t value) |
it_entries | entries () |
Iterator over the DelayImport's entries (DelayImportEntry) | |
it_const_entries | entries () const |
Iterator over the DelayImport's entries (DelayImportEntry) | |
void | accept (Visitor &visitor) const override |
Public Member Functions inherited from LIEF::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 |
Class that represents a PE delayed import.
|
overridevirtual |
Implements LIEF::Object.
uint32_t LIEF::PE::DelayImport::uiat | ( | ) | const |
RVA of the unload delay-load import address table or 0 if the table does not exist.
According to the PE specifications, this table is an exact copy of the delay import address table that can be used to to restore the original IAT the case of unloading.