00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
#ifndef IATDIRECTORY_H
00014
#define IATDIRECTORY_H
00015
00016
#include "PeLibInc.h"
00017
00018
namespace PeLib
00019 {
00021
00024 class IatDirectory
00025 {
00026
private:
00027 std::vector<dword>
m_vIat;
00028
00029
public:
00031
int read(
const std::string& strFilename,
unsigned int dwOffset,
unsigned int dwSize);
00033
unsigned int numberOfAddresses() const;
00035
void addAddress(dword dwValue);
00037
void removeAddress(dword dwAddrnr);
00039
void removeAll();
00040
00041
void rebuild(std::vector<byte>& vBuffer) const;
00043
unsigned int size() const;
00045
int write(const std::string& strFilename,
unsigned int uiOffset) const;
00046
00048 dword getAddress(dword dwAddrnr) const;
00050
void setAddress(dword dwAddrnr, dword dwValue);
00051 };
00052 }
00053
00054 #endif
00055