DOS4GWBinaryFile Class Reference

#include <loader/DOS4GWBinaryFile.h>

Inheritance diagram for DOS4GWBinaryFile:

BinaryFile List of all members.

Detailed Description

Definition at line 131 of file DOS4GWBinaryFile.h.

Public Member Functions

virtual void AddSymbol (ADDRESS uNative, const char *pName)
virtual void Close ()
virtual bool DisplayDetails (const char *fileName, FILE *f=stdout)
 DOS4GWBinaryFile ()
virtual ADDRESS GetAddressByName (const char *name, bool bNoTypeOK=false)
DWord getDelta ()
virtual std::list< const char * > getDependencyList ()
virtual const char * GetDynamicProcName (ADDRESS uNative)
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 std::map< ADDRESS,
std::string > & 
getSymbols ()
virtual bool IsDynamicLinkedProc (ADDRESS uNative)
virtual bool IsDynamicLinkedProcPointer (ADDRESS uNative)
virtual bool isLibrary () const
virtual bool Open (const char *sName)
virtual int readNative1 (ADDRESS a)
virtual int readNative2 (ADDRESS a)
virtual int readNative4 (ADDRESS a)
virtual QWord readNative8 (ADDRESS a)
virtual float readNativeFloat4 (ADDRESS a)
virtual double readNativeFloat8 (ADDRESS a)
virtual const char * SymbolByAddress (ADDRESS dwAddr)
virtual void UnLoad ()
virtual ~DOS4GWBinaryFile ()

Protected Member Functions

int dos4gwRead2 (short *ps) const
int dos4gwRead4 (int *pi) const
virtual bool RealLoad (const char *sName)

Private Member Functions

bool PostLoad (void *handle)

Private Attributes

char * base
std::map< ADDRESS, std::string > dlprocptrs
int m_cbImage
const char * m_pFileName
Headerm_pHeader
LXHeaderm_pLXHeader
LXObjectm_pLXObjects
LXPagem_pLXPages


Constructor & Destructor Documentation

DOS4GWBinaryFile::DOS4GWBinaryFile  ) 
 

Definition at line 38 of file DOS4GWBinaryFile.cpp.

DOS4GWBinaryFile::~DOS4GWBinaryFile  )  [virtual]
 

Definition at line 41 of file DOS4GWBinaryFile.cpp.

References BinaryFile::m_iNumSections, and BinaryFile::m_pSections.


Member Function Documentation

void DOS4GWBinaryFile::AddSymbol ADDRESS  uNative,
const char *  pName
[virtual]
 

Reimplemented from BinaryFile.

Definition at line 398 of file DOS4GWBinaryFile.cpp.

References dlprocptrs.

void DOS4GWBinaryFile::Close  )  [virtual]
 

Implements BinaryFile.

Definition at line 55 of file DOS4GWBinaryFile.cpp.

References UnLoad().

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

Reimplemented from BinaryFile.

Definition at line 403 of file DOS4GWBinaryFile.cpp.

int DOS4GWBinaryFile::dos4gwRead2 short *  ps  )  const [protected]
 

Definition at line 409 of file DOS4GWBinaryFile.cpp.

Referenced by dos4gwRead4(), and readNative2().

int DOS4GWBinaryFile::dos4gwRead4 int *  pi  )  const [protected]
 

Definition at line 416 of file DOS4GWBinaryFile.cpp.

References dos4gwRead2().

Referenced by readNative4().

ADDRESS DOS4GWBinaryFile::GetAddressByName const char *  name,
bool  bNoTypeOK = false
[virtual]
 

Reimplemented from BinaryFile.

Definition at line 384 of file DOS4GWBinaryFile.cpp.

References dlprocptrs.

Referenced by GetMainEntryPoint().

DWord DOS4GWBinaryFile::getDelta  ) 
 

Definition at line 532 of file DOS4GWBinaryFile.cpp.

References base, and m_pLXObjects.

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

Implements BinaryFile.

Definition at line 527 of file DOS4GWBinaryFile.cpp.

const char * DOS4GWBinaryFile::GetDynamicProcName ADDRESS  uNative  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 497 of file DOS4GWBinaryFile.cpp.

References dlprocptrs.

ADDRESS DOS4GWBinaryFile::GetEntryPoint  )  [virtual]
 

Implements BinaryFile.

Definition at line 68 of file DOS4GWBinaryFile.cpp.

References LXHeader::eip, LXHeader::eipobjectnum, LMMH, m_pLXHeader, and m_pLXObjects.

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

Implements BinaryFile.

Definition at line 59 of file DOS4GWBinaryFile.cpp.

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

Implements BinaryFile.

Definition at line 143 of file DOS4GWBinaryFile.h.

References m_pFileName.

LOAD_FMT DOS4GWBinaryFile::GetFormat  )  const [virtual]
 

Implements BinaryFile.

Definition at line 502 of file DOS4GWBinaryFile.cpp.

References LOADFMT_LX.

ADDRESS DOS4GWBinaryFile::getImageBase  )  [virtual]
 

Implements BinaryFile.

Definition at line 517 of file DOS4GWBinaryFile.cpp.

References m_pLXObjects, and LXObject::RelocBaseAddr.

size_t DOS4GWBinaryFile::getImageSize  )  [virtual]
 

Implements BinaryFile.

Definition at line 522 of file DOS4GWBinaryFile.cpp.

MACHINE DOS4GWBinaryFile::GetMachine  )  const [virtual]
 

Implements BinaryFile.

Definition at line 507 of file DOS4GWBinaryFile.cpp.

References MACHINE_PENTIUM.

ADDRESS DOS4GWBinaryFile::GetMainEntryPoint  )  [virtual]
 

Implements BinaryFile.

Definition at line 73 of file DOS4GWBinaryFile.cpp.

References addr(), base, LXHeader::eip, GetAddressByName(), BinaryFile::GetSectionInfoByName(), LMMH, m_pLXHeader, microX86Dis(), NO_ADDRESS, NULL, size, SectionInfo::uNativeAddr, and SectionInfo::uSectionSize.

virtual std::map<ADDRESS, std::string>& DOS4GWBinaryFile::getSymbols  )  [inline, virtual]
 

Reimplemented from BinaryFile.

Definition at line 183 of file DOS4GWBinaryFile.h.

References dlprocptrs.

bool DOS4GWBinaryFile::IsDynamicLinkedProc ADDRESS  uNative  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 358 of file DOS4GWBinaryFile.cpp.

References dlprocptrs.

bool DOS4GWBinaryFile::IsDynamicLinkedProcPointer ADDRESS  uNative  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 490 of file DOS4GWBinaryFile.cpp.

References dlprocptrs.

bool DOS4GWBinaryFile::isLibrary  )  const [virtual]
 

Implements BinaryFile.

Definition at line 512 of file DOS4GWBinaryFile.cpp.

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

Implements BinaryFile.

Definition at line 50 of file DOS4GWBinaryFile.cpp.

bool DOS4GWBinaryFile::PostLoad void *  handle  )  [private, virtual]
 

Implements BinaryFile.

Definition at line 371 of file DOS4GWBinaryFile.cpp.

int DOS4GWBinaryFile::readNative1 ADDRESS  a  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 425 of file DOS4GWBinaryFile.cpp.

References BinaryFile::GetSectionInfo(), BinaryFile::GetSectionInfoByAddr(), SectionInfo::uHostAddr, and SectionInfo::uNativeAddr.

int DOS4GWBinaryFile::readNative2 ADDRESS  a  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 434 of file DOS4GWBinaryFile.cpp.

References dos4gwRead2(), BinaryFile::GetSectionInfoByAddr(), SectionInfo::uHostAddr, and SectionInfo::uNativeAddr.

int DOS4GWBinaryFile::readNative4 ADDRESS  a  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 443 of file DOS4GWBinaryFile.cpp.

References dos4gwRead4(), BinaryFile::GetSectionInfoByAddr(), SectionInfo::uHostAddr, and SectionInfo::uNativeAddr.

Referenced by readNative8(), readNativeFloat4(), and readNativeFloat8().

QWord DOS4GWBinaryFile::readNative8 ADDRESS  a  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 452 of file DOS4GWBinaryFile.cpp.

References readNative4().

float DOS4GWBinaryFile::readNativeFloat4 ADDRESS  a  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 467 of file DOS4GWBinaryFile.cpp.

References readNative4().

double DOS4GWBinaryFile::readNativeFloat8 ADDRESS  a  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 475 of file DOS4GWBinaryFile.cpp.

References readNative4().

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

Implements BinaryFile.

Definition at line 143 of file DOS4GWBinaryFile.cpp.

References LMMH, m_cbImage, m_pFileName, m_pLXHeader, m_pLXObjects, LXHeader::numobjsinmodule, LXHeader::objtbloffset, LXHeader::sigHi, and LXHeader::sigLo.

const char * DOS4GWBinaryFile::SymbolByAddress ADDRESS  dwAddr  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 376 of file DOS4GWBinaryFile.cpp.

References dlprocptrs.

void DOS4GWBinaryFile::UnLoad  )  [virtual]
 

Implements BinaryFile.

Definition at line 367 of file DOS4GWBinaryFile.cpp.

Referenced by Close().


Member Data Documentation

char* DOS4GWBinaryFile::base [private]
 

Definition at line 199 of file DOS4GWBinaryFile.h.

Referenced by getDelta(), and GetMainEntryPoint().

std::map<ADDRESS, std::string> DOS4GWBinaryFile::dlprocptrs [private]
 

Definition at line 201 of file DOS4GWBinaryFile.h.

Referenced by AddSymbol(), GetAddressByName(), GetDynamicProcName(), getSymbols(), IsDynamicLinkedProc(), IsDynamicLinkedProcPointer(), and SymbolByAddress().

int DOS4GWBinaryFile::m_cbImage [private]
 

Definition at line 196 of file DOS4GWBinaryFile.h.

Referenced by RealLoad().

const char* DOS4GWBinaryFile::m_pFileName [private]
 

Definition at line 202 of file DOS4GWBinaryFile.h.

Referenced by getFilename(), and RealLoad().

Header* DOS4GWBinaryFile::m_pHeader [private]
 

Definition at line 192 of file DOS4GWBinaryFile.h.

LXHeader* DOS4GWBinaryFile::m_pLXHeader [private]
 

Definition at line 193 of file DOS4GWBinaryFile.h.

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

LXObject* DOS4GWBinaryFile::m_pLXObjects [private]
 

Definition at line 194 of file DOS4GWBinaryFile.h.

Referenced by getDelta(), GetEntryPoint(), getImageBase(), and RealLoad().

LXPage* DOS4GWBinaryFile::m_pLXPages [private]
 

Definition at line 195 of file DOS4GWBinaryFile.h.


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