13 #ifndef RETDEC_PELIB_IATDIRECTORY_H
14 #define RETDEC_PELIB_IATDIRECTORY_H
34 int read(
const void * buffer, std::size_t buffersize);
46 void rebuild(std::vector<std::uint8_t>& vBuffer)
const;
48 unsigned int size()
const;
50 int write(
const std::string& strFilename,
unsigned int uiOffset)
const;
53 std::uint32_t
getAddress(
unsigned int index)
const;
55 void setAddress(std::uint32_t dwAddrnr, std::uint32_t dwValue);
Class that handles the Import Address Table (IAT)
Definition: IatDirectory.h:26
void removeAddress(unsigned int index)
Removes an address from the IAT.
Definition: IatDirectory.cpp:129
void rebuild(std::vector< std::uint8_t > &vBuffer) const
Definition: IatDirectory.cpp:147
unsigned int size() const
Returns the size of the current IAT.
Definition: IatDirectory.cpp:158
std::vector< std::uint32_t > m_vIat
Stores the individual IAT fields.
Definition: IatDirectory.h:28
int write(const std::string &strFilename, unsigned int uiOffset) const
Writes the current IAT to a file.
Definition: IatDirectory.cpp:164
unsigned int calcNumberOfAddresses() const
Returns the number of fields in the IAT.
Definition: IatDirectory.cpp:91
void setAddress(std::uint32_t dwAddrnr, std::uint32_t dwValue)
Change the value of a field in the IAT.
Definition: IatDirectory.cpp:111
void clear()
Empties the IAT.
Definition: IatDirectory.cpp:138
virtual ~IatDirectory()=default
void addAddress(std::uint32_t dwValue)
Adds another address to the IAT.
Definition: IatDirectory.cpp:120
std::uint32_t getAddress(unsigned int index) const
Retrieve the value of a field in the IAT.
Definition: IatDirectory.cpp:101
int read(const void *buffer, std::size_t buffersize)
Reads the Import Address Table from a PE file.
Definition: IatDirectory.cpp:22
Definition: ImageLoader.h:138
Definition: BoundImportDirectory.h:21