www.pudn.com > ch02_codes.rar > Pe.h
// Pe.h: ¶¨ÒåCPeÀà. // #ifndef _PE_H__INCLUDED #define _PE_H__INCLUDED #include#include #include typedef struct PE_HEADER_MAP { DWORD signature; IMAGE_FILE_HEADER _head; IMAGE_OPTIONAL_HEADER opt_head; IMAGE_SECTION_HEADER section_header[6]; } peHeader; class CPe { public: CPe(); virtual ~CPe(); public: void CalcAddress(const void *base); void ModifyPe(CString strFileName,CString strMsg); void WriteFile(CString strFileName,CString strMsg); BOOL WriteNewEntry(int ret,long offset,DWORD dwAddress); BOOL WriteMessageBox(int ret,long offset,CString strCap,CString strTxt); CString StrOfDWord(DWORD dwAddress); public: DWORD dwSpace; DWORD dwEntryAddress; DWORD dwEntryWrite; DWORD dwProgRAV; DWORD dwOldEntryAddress; DWORD dwNewEntryAddress; DWORD dwCodeOffset; DWORD dwPeAddress; DWORD dwFlagAddress; DWORD dwVirtSize; DWORD dwPhysAddress; DWORD dwPhysSize; DWORD dwMessageBoxAadaddress; }; #endif