LIEF: Library to Instrument Executable Formats Version 0.15.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
LIEF::PE::DelayImport Class Reference

Class that represents a PE delayed import. More...

#include <DelayImport.hpp>

Inheritance diagram for LIEF::PE::DelayImport:
Inheritance graph
[legend]
Collaboration diagram for LIEF::PE::DelayImport:
Collaboration graph
[legend]

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 &)
 
DelayImportoperator= (const DelayImport &)
 
 DelayImport (DelayImport &&)
 
DelayImportoperator= (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)
 
Objectoperator= (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
 

Detailed Description

Class that represents a PE delayed import.

Member Function Documentation

◆ accept()

void LIEF::PE::DelayImport::accept ( Visitor & visitor) const
overridevirtual

Implements LIEF::Object.

◆ uiat()

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.


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