Main Page | Class Hierarchy | Class List | File List | Class Members | Related Pages

IatDirectory.h

00001 /* 00002 * IatDirectory.h - Part of the PeLib library. 00003 * 00004 * Copyright (c) 2004 Sebastian Porst (webmaster@the-interweb.com) 00005 * All rights reserved. 00006 * 00007 * This software is licensed under the zlib/libpng License. 00008 * For more details see http://www.opensource.org/licenses/zlib-license.php 00009 * or the license information file (license.htm) in the root directory 00010 * of PeLib. 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 // Rebuilds the IAT. 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

Generated on Mon Jan 17 20:50:08 2005 for PeLib by doxygen 1.3.7