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