|
RetroLinker
Linker for several 8-bit, 16-bit and 32-bit formats
|
A collection of the imported names for a specific dynamic linking library. More...
#include <peexe.h>
Classes | |
| class | Name |
| Represents an entry in the hint-name table, corresponding to imports by name. More... | |
Public Types | |
| typedef uint16_t | Ordinal |
| typedef std::variant< Ordinal, Name > | ImportTableEntry |
| Represents a single entry in the import directory, either an ordinal or a name. | |
Public Member Functions | |
| void | AddImportByName (std::string entry_name, uint16_t hint) |
| Adds a new imported entry by name and hint, unless an entry by the same name already exists, in which case it does nothing. | |
| void | AddImportByOrdinal (uint16_t ordinal) |
| Adds a new imported entry by ordinal, unless an entry by the same ordinal already exists, in which case it does nothing. | |
| offset_t | GetImportByNameAddress (const PEFormat &fmt, std::string name) |
| Retrieves the virtual address of an already registered entry that is imported by name. | |
| offset_t | GetImportByOrdinalAddress (const PEFormat &fmt, uint16_t ordinal) |
| Retrieves the virtual address of an already registered entry that is imported by ordinal. | |
| ImportDirectory (std::string name) | |
Public Attributes | |
| uint32_t | lookup_table_rva = 0 |
| Relative virtual address for the lookup table, preserved during execution time. | |
| uint32_t | address_table_rva = 0 |
| Relative virtual address for the address table, used to access the imported functions, but has the same layout as the lookup table in the image. | |
| uint32_t | timestamp = 0 |
| uint32_t | forwarder_chain = 0 |
| std::string | name |
| Name of the dynamic linking library included. | |
| uint32_t | name_rva = 0 |
| Relative virtual address of the name. | |
| std::vector< ImportTableEntry > | import_table |
| List of imported entries. | |
| std::map< std::string, size_t > | imports_by_name |
| A convenience field to quickly access the imported entry index via its name, must be kept synchronized with import_table. | |
| std::map< Ordinal, size_t > | imports_by_ordinal |
| A convenience field to quickly access the imported entry index via its ordinal (only for import by ordinal, not for hints), must be kept synchronized with import_table. | |
A collection of the imported names for a specific dynamic linking library.