ExeBinaryFile Class Reference

#include <loader/ExeBinaryFile.h>

Inheritance diagram for ExeBinaryFile:

BinaryFile List of all members.

Detailed Description

Definition at line 70 of file ExeBinaryFile.h.

Public Member Functions

virtual void Close ()
virtual bool DisplayDetails (const char *fileName, FILE *f=stdout)
 ExeBinaryFile ()
virtual std::list< const char * > getDependencyList ()
virtual ADDRESS GetEntryPoint ()
virtual std::list< SectionInfo * > & GetEntryPoints (const char *pEntry="main")
virtual const char * getFilename () const
virtual LOAD_FMT GetFormat () const
virtual ADDRESS getImageBase ()
virtual size_t getImageSize ()
virtual MACHINE GetMachine () const
virtual ADDRESS GetMainEntryPoint ()
virtual bool isLibrary () const
virtual bool Open (const char *sName)
virtual bool PostLoad (void *handle)
virtual char * SymbolByAddr (ADDRESS a)
virtual void UnLoad ()

Protected Member Functions

virtual bool RealLoad (const char *sName)

Private Attributes

int m_cbImage
int m_cReloc
const char * m_pFileName
exeHeaderm_pHeader
Bytem_pImage
DWordm_pRelocTable


Constructor & Destructor Documentation

ExeBinaryFile::ExeBinaryFile  ) 
 

Definition at line 27 of file ExeBinaryFile.cpp.


Member Function Documentation

void ExeBinaryFile::Close  )  [virtual]
 

Implements BinaryFile.

Definition at line 244 of file ExeBinaryFile.cpp.

bool ExeBinaryFile::DisplayDetails const char *  fileName,
FILE *  f = stdout
[virtual]
 

Reimplemented from BinaryFile.

Definition at line 223 of file ExeBinaryFile.cpp.

std::list< const char * > ExeBinaryFile::getDependencyList  )  [virtual]
 

Implements BinaryFile.

Definition at line 260 of file ExeBinaryFile.cpp.

ADDRESS ExeBinaryFile::GetEntryPoint  )  [virtual]
 

Implements BinaryFile.

Definition at line 281 of file ExeBinaryFile.cpp.

References exeHeader::initCS, exeHeader::initIP, LH, and m_pHeader.

std::list< SectionInfo * > & ExeBinaryFile::GetEntryPoints const char *  pEntry = "main"  )  [virtual]
 

Implements BinaryFile.

Definition at line 288 of file ExeBinaryFile.cpp.

References BinaryFile::GetSectionInfoByName().

virtual const char* ExeBinaryFile::getFilename  )  const [inline, virtual]
 

Implements BinaryFile.

Definition at line 80 of file ExeBinaryFile.h.

References m_pFileName.

LOAD_FMT ExeBinaryFile::GetFormat  )  const [virtual]
 

Implements BinaryFile.

Definition at line 229 of file ExeBinaryFile.cpp.

References LOADFMT_EXE.

ADDRESS ExeBinaryFile::getImageBase  )  [virtual]
 

Implements BinaryFile.

Definition at line 265 of file ExeBinaryFile.cpp.

size_t ExeBinaryFile::getImageSize  )  [virtual]
 

Implements BinaryFile.

Definition at line 270 of file ExeBinaryFile.cpp.

MACHINE ExeBinaryFile::GetMachine  )  const [virtual]
 

Implements BinaryFile.

Definition at line 234 of file ExeBinaryFile.cpp.

References MACHINE_PENTIUM.

ADDRESS ExeBinaryFile::GetMainEntryPoint  )  [virtual]
 

Implements BinaryFile.

Definition at line 276 of file ExeBinaryFile.cpp.

References NO_ADDRESS.

Referenced by SymbolByAddr().

bool ExeBinaryFile::isLibrary  )  const [virtual]
 

Implements BinaryFile.

Definition at line 255 of file ExeBinaryFile.cpp.

bool ExeBinaryFile::Open const char *  sName  )  [virtual]
 

Implements BinaryFile.

Definition at line 239 of file ExeBinaryFile.cpp.

bool ExeBinaryFile::PostLoad void *  handle  )  [virtual]
 

Implements BinaryFile.

Definition at line 249 of file ExeBinaryFile.cpp.

bool ExeBinaryFile::RealLoad const char *  sName  )  [protected, virtual]
 

Implements BinaryFile.

Definition at line 31 of file ExeBinaryFile.cpp.

References exeHeader::initCS, exeHeader::initIP, exeHeader::initSP, exeHeader::initSS, exeHeader::lastPageSize, LH, m_cReloc, BinaryFile::m_iNumSections, m_pFileName, m_pHeader, m_pRelocTable, BinaryFile::m_pSections, BinaryFile::m_uInitPC, BinaryFile::m_uInitSP, NULL, exeHeader::numPages, exeHeader::numParaHeader, exeHeader::numReloc, exeHeader::relocTabOffset, exeHeader::sigHi, and exeHeader::sigLo.

char * ExeBinaryFile::SymbolByAddr ADDRESS  a  )  [virtual]
 

Definition at line 214 of file ExeBinaryFile.cpp.

References GetMainEntryPoint().

void ExeBinaryFile::UnLoad  )  [virtual]
 

Implements BinaryFile.

Definition at line 207 of file ExeBinaryFile.cpp.

References m_pHeader, and m_pRelocTable.


Member Data Documentation

int ExeBinaryFile::m_cbImage [private]
 

Definition at line 108 of file ExeBinaryFile.h.

int ExeBinaryFile::m_cReloc [private]
 

Definition at line 109 of file ExeBinaryFile.h.

Referenced by RealLoad().

const char* ExeBinaryFile::m_pFileName [private]
 

Definition at line 111 of file ExeBinaryFile.h.

Referenced by getFilename(), and RealLoad().

exeHeader* ExeBinaryFile::m_pHeader [private]
 

Definition at line 106 of file ExeBinaryFile.h.

Referenced by GetEntryPoint(), RealLoad(), and UnLoad().

Byte* ExeBinaryFile::m_pImage [private]
 

Definition at line 107 of file ExeBinaryFile.h.

DWord* ExeBinaryFile::m_pRelocTable [private]
 

Definition at line 110 of file ExeBinaryFile.h.

Referenced by RealLoad(), and UnLoad().


The documentation for this class was generated from the following files:
Generated on Tue Sep 19 21:18:42 2006 for Boomerang by  doxygen 1.4.6