ElfBinaryFile Class Reference

#include <loader/ElfBinaryFile.h>

Inheritance diagram for ElfBinaryFile:

BinaryFile List of all members.

Detailed Description

Definition at line 152 of file ElfBinaryFile.h.

Public Member Functions

void AddSymbol (ADDRESS uNative, const char *pName)
void applyRelocations ()
virtual void Close ()
void dumpSymbols ()
 ElfBinaryFile (bool bArchive=false)
ADDRESS GetAddressByName (const char *pName, bool bNoTypeOK=false)
virtual std::list< const char * > getDependencyList ()
int GetDistanceByName (const char *pName, const char *pSectName)
int GetDistanceByName (const char *pName)
virtual std::map< ADDRESS,
const char * > * 
GetDynamicGlobalMap ()
virtual ADDRESS GetEntryPoint ()
virtual std::list< SectionInfo * > & GetEntryPoints (const char *pEntry="main")
virtual std::vector< ADDRESSGetExportedAddresses (bool funcsOnly=true)
virtual const char * getFilename () const
virtual const char * getFilenameSymbolFor (const char *sym)
virtual LOAD_FMT GetFormat () const
virtual ADDRESS getImageBase ()
virtual size_t getImageSize ()
virtual ADDRESSGetImportStubs (int &numImports)
virtual MACHINE GetMachine () const
virtual ADDRESS GetMainEntryPoint ()
bool GetNextMember ()
ADDRESS GetRelocatedAddress (ADDRESS uNative)
int GetSizeByName (const char *pName, bool bNoTypeOK=false)
char * GetStrPtr (int idx, int offset)
virtual std::map< ADDRESS,
std::string > & 
getSymbols ()
bool IsAddressRelocatable (ADDRESS uNative)
bool IsDynamicLinkedProc (ADDRESS wNative)
virtual bool isLibrary () const
virtual bool IsRelocationAt (ADDRESS uNative)
ADDRESS NativeToHostAddress (ADDRESS uNative)
virtual bool Open (const char *sName)
int readNative1 (ADDRESS a)
int readNative2 (ADDRESS a)
int readNative4 (ADDRESS a)
QWord readNative8 (ADDRESS a)
float readNativeFloat4 (ADDRESS a)
double readNativeFloat8 (ADDRESS a)
void SetLinkAndInfo (int idx, int link, int info)
const char * SymbolByAddress (ADDRESS uAddr)
virtual void UnLoad ()
void writeNative4 (ADDRESS nat, unsigned int n)
void writeObjectFile (std::string &path, const char *name, void *ptxt, int txtsz, RelocMap &reloc)
virtual ~ElfBinaryFile ()

Public Attributes

const char * m_pFileName

Protected Member Functions

virtual bool RealLoad (const char *sName)

Private Member Functions

void AddRelocsAsSyms (int secIndex)
void AddSyms (int secIndex)
int elfRead2 (short *ps) const
int elfRead4 (int *pi) const
void elfWrite4 (int *pi, int val)
ADDRESS findRelPltOffset (int i, ADDRESS addrRelPlt, int sizeRelPlt, int numRelPlt, ADDRESS addrPlt)
void Init ()
bool PostLoad (void *handle)
int ProcessElfFile ()
bool SearchValueByName (const char *pName, SymValue *pVal, const char *pSectName, const char *pStrName)
bool SearchValueByName (const char *pName, SymValue *pVal)
void SetRelocInfo (PSectionInfo pSect)
bool ValueByName (const char *pName, SymValue *pVal, bool bNoTypeOK=false)

Private Attributes

ADDRESS first_extern
bool m_bAddend
char m_elfEndianness
std::list< SectionInfo * > m_EntryPoint
FILE * m_fd
int m_iLastSize
long m_lImageSize
char * m_pImage
ADDRESSm_pImportStubs
Elf32_Phdrm_pPhdrs
Elf32_Relm_pReloc
Elf32_Shdrm_pShdrs
char * m_pStrings
Elf32_Symm_pSym
SymTab m_Reloc
int * m_sh_info
int * m_sh_link
std::map< ADDRESS, std::string > m_SymTab
ADDRESS m_uBaseAddr
size_t m_uImageSize
ADDRESS m_uLastAddr
ADDRESS m_uPltMax
ADDRESS m_uPltMin
ADDRESS next_extern


Constructor & Destructor Documentation

ElfBinaryFile::ElfBinaryFile bool  bArchive = false  ) 
 

Definition at line 47 of file ElfBinaryFile.cpp.

References Init(), m_fd, and m_pFileName.

ElfBinaryFile::~ElfBinaryFile  )  [virtual]
 

Definition at line 56 of file ElfBinaryFile.cpp.

References m_pImportStubs.


Member Function Documentation

void ElfBinaryFile::AddRelocsAsSyms int  secIndex  )  [private]
 

Definition at line 452 of file ElfBinaryFile.cpp.

References elfRead2(), elfRead4(), BinaryFile::GetSectionInfo(), GetStrPtr(), m_pReloc, BinaryFile::m_pSections, m_pSym, m_sh_link, m_SymTab, next_extern, R_386_32, R_386_PC32, STT_SECTION, SectionInfo::uHostAddr, SectionInfo::uNativeAddr, SectionInfo::uSectionEntrySize, SectionInfo::uSectionSize, and writeNative4().

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

Reimplemented from BinaryFile.

Definition at line 1274 of file ElfBinaryFile.cpp.

References m_SymTab.

Referenced by applyRelocations().

void ElfBinaryFile::AddSyms int  secIndex  )  [private]
 

Definition at line 335 of file ElfBinaryFile.cpp.

References E_REL, e_type, ELF32_ST_TYPE, elfRead2(), elfRead4(), findRelPltOffset(), BinaryFile::GetSectionInfo(), BinaryFile::GetSectionInfoByName(), GetStrPtr(), m_pImage, BinaryFile::m_pSections, m_pSym, m_sh_link, m_SymTab, NULL, STT_FUNC, SectionInfo::uHostAddr, SectionInfo::uNativeAddr, SectionInfo::uSectionEntrySize, and SectionInfo::uSectionSize.

void ElfBinaryFile::applyRelocations  ) 
 

Definition at line 1060 of file ElfBinaryFile.cpp.

References AddSymbol(), E_REL, ELF32_ST_TYPE, elfRead2(), elfRead4(), elfWrite4(), EM_386, EM_SPARC, BinaryFile::GetSectionInfo(), BinaryFile::GetSectionInfoByAddr(), m_pImage, BinaryFile::m_pSections, m_sh_info, m_sh_link, SHT_REL, size, STT_SECTION, SectionInfo::uHostAddr, and SectionInfo::uNativeAddr.

void ElfBinaryFile::Close  )  [virtual]
 

Implements BinaryFile.

Definition at line 757 of file ElfBinaryFile.cpp.

References UnLoad().

void ElfBinaryFile::dumpSymbols  ) 
 

Definition at line 1279 of file ElfBinaryFile.cpp.

References m_SymTab.

int ElfBinaryFile::elfRead2 short *  ps  )  const [private]
 

Definition at line 924 of file ElfBinaryFile.cpp.

References m_elfEndianness.

Referenced by AddRelocsAsSyms(), AddSyms(), applyRelocations(), elfRead4(), GetMachine(), isLibrary(), IsRelocationAt(), readNative2(), RealLoad(), SearchValueByName(), and ValueByName().

int ElfBinaryFile::elfRead4 int *  pi  )  const [private]
 

Definition at line 934 of file ElfBinaryFile.cpp.

References elfRead2(), and m_elfEndianness.

Referenced by AddRelocsAsSyms(), AddSyms(), applyRelocations(), findRelPltOffset(), GetEntryPoint(), IsRelocationAt(), readNative4(), RealLoad(), SearchValueByName(), and ValueByName().

void ElfBinaryFile::elfWrite4 int *  pi,
int  val
[private]
 

Definition at line 942 of file ElfBinaryFile.cpp.

References m_elfEndianness.

Referenced by applyRelocations().

ADDRESS ElfBinaryFile::findRelPltOffset int  i,
ADDRESS  addrRelPlt,
int  sizeRelPlt,
int  numRelPlt,
ADDRESS  addrPlt
[private]
 

Definition at line 312 of file ElfBinaryFile.cpp.

References elfRead4().

Referenced by AddSyms().

ADDRESS ElfBinaryFile::GetAddressByName const char *  pName,
bool  bNoTypeOK = false
[virtual]
 

Reimplemented from BinaryFile.

Definition at line 615 of file ElfBinaryFile.cpp.

References SymValue::iSymSize, m_iLastSize, m_uLastAddr, NO_ADDRESS, SymValue::uSymAddr, and ValueByName().

Referenced by GetDistanceByName(), GetEntryPoints(), and GetMainEntryPoint().

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

Implements BinaryFile.

Definition at line 789 of file ElfBinaryFile.cpp.

References Elf32_Dyn::d_ptr, Elf32_Dyn::d_tag, Elf32_Dyn::d_un, Elf32_Dyn::d_val, DT_NEEDED, DT_NULL, DT_STRTAB, BinaryFile::GetSectionInfoByName(), NativeToHostAddress(), NO_ADDRESS, NULL, result, and SectionInfo::uHostAddr.

int ElfBinaryFile::GetDistanceByName const char *  pName,
const char *  pSectName
 

Definition at line 640 of file ElfBinaryFile.cpp.

References GetAddressByName(), BinaryFile::GetSectionInfoByName(), GetSizeByName(), size, Elf32_Sym::st_value, SectionInfo::uHostAddr, SectionInfo::uSectionEntrySize, and SectionInfo::uSectionSize.

int ElfBinaryFile::GetDistanceByName const char *  pName  ) 
 

Definition at line 677 of file ElfBinaryFile.cpp.

std::map< ADDRESS, const char * > * ElfBinaryFile::GetDynamicGlobalMap  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 880 of file ElfBinaryFile.cpp.

References ELF32_R_SYM, BinaryFile::GetSectionIndexByName(), BinaryFile::GetSectionInfoByName(), GetStrPtr(), Elf32_Sym::st_name, SectionInfo::uHostAddr, SectionInfo::uSectionEntrySize, and SectionInfo::uSectionSize.

ADDRESS ElfBinaryFile::GetEntryPoint  )  [virtual]
 

Implements BinaryFile.

Definition at line 725 of file ElfBinaryFile.cpp.

References elfRead4(), and m_pImage.

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

Implements BinaryFile.

Definition at line 698 of file ElfBinaryFile.cpp.

References GetAddressByName(), BinaryFile::GetSectionInfoByName(), m_EntryPoint, SectionInfo::uHostAddr, SectionInfo::uNativeAddr, and SectionInfo::uSectionSize.

std::vector< ADDRESS > ElfBinaryFile::GetExportedAddresses bool  funcsOnly = true  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 400 of file ElfBinaryFile.cpp.

References BinaryFile::m_pSections, and SHT_SYMTAB.

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

Implements BinaryFile.

Definition at line 163 of file ElfBinaryFile.h.

References m_pFileName.

const char * ElfBinaryFile::getFilenameSymbolFor const char *  sym  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 1227 of file ElfBinaryFile.cpp.

References BinaryFile::m_pSections, and SHT_SYMTAB.

LOAD_FMT ElfBinaryFile::GetFormat  )  const [virtual]
 

Implements BinaryFile.

Definition at line 761 of file ElfBinaryFile.cpp.

References LOADFMT_ELF.

ADDRESS ElfBinaryFile::getImageBase  )  [virtual]
 

Implements BinaryFile.

Definition at line 818 of file ElfBinaryFile.cpp.

References m_uBaseAddr.

size_t ElfBinaryFile::getImageSize  )  [virtual]
 

Implements BinaryFile.

Definition at line 822 of file ElfBinaryFile.cpp.

References m_uImageSize.

ADDRESS * ElfBinaryFile::GetImportStubs int &  numImports  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 834 of file ElfBinaryFile.cpp.

References m_SymTab, and m_uPltMin.

MACHINE ElfBinaryFile::GetMachine  )  const [virtual]
 

Implements BinaryFile.

Definition at line 765 of file ElfBinaryFile.cpp.

References elfRead2(), EM_386, EM_68K, EM_PA_RISC, EM_PPC, EM_SPARC, EM_SPARC32PLUS, EM_ST20, EM_X86_64, m_pImage, MACHINE_HPRISC, MACHINE_PALM, MACHINE_PENTIUM, MACHINE_PPC, MACHINE_SPARC, and MACHINE_ST20.

ADDRESS ElfBinaryFile::GetMainEntryPoint  )  [virtual]
 

Implements BinaryFile.

Definition at line 721 of file ElfBinaryFile.cpp.

References GetAddressByName().

bool ElfBinaryFile::GetNextMember  ) 
 

ADDRESS ElfBinaryFile::GetRelocatedAddress ADDRESS  uNative  ) 
 

Definition at line 735 of file ElfBinaryFile.cpp.

int ElfBinaryFile::GetSizeByName const char *  pName,
bool  bNoTypeOK = false
[virtual]
 

Reimplemented from BinaryFile.

Definition at line 627 of file ElfBinaryFile.cpp.

References SymValue::iSymSize, m_iLastSize, m_uLastAddr, SymValue::uSymAddr, and ValueByName().

Referenced by GetDistanceByName().

char * ElfBinaryFile::GetStrPtr int  idx,
int  offset
 

Definition at line 294 of file ElfBinaryFile.cpp.

References BinaryFile::m_pSections.

Referenced by AddRelocsAsSyms(), AddSyms(), GetDynamicGlobalMap(), and ValueByName().

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

Reimplemented from BinaryFile.

Definition at line 234 of file ElfBinaryFile.h.

References m_SymTab.

void ElfBinaryFile::Init  )  [private]
 

Definition at line 65 of file ElfBinaryFile.cpp.

References m_iLastSize, m_pImage, m_pImportStubs, m_pPhdrs, m_pReloc, m_pShdrs, m_pStrings, m_pSym, m_uPltMax, and m_uPltMin.

Referenced by ElfBinaryFile(), and UnLoad().

bool ElfBinaryFile::IsAddressRelocatable ADDRESS  uNative  ) 
 

bool ElfBinaryFile::IsDynamicLinkedProc ADDRESS  wNative  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 683 of file ElfBinaryFile.cpp.

References first_extern, m_uPltMax, m_uPltMin, and next_extern.

bool ElfBinaryFile::isLibrary  )  const [virtual]
 

Implements BinaryFile.

Definition at line 784 of file ElfBinaryFile.cpp.

References elfRead2(), ET_DYN, and m_pImage.

bool ElfBinaryFile::IsRelocationAt ADDRESS  uNative  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 1168 of file ElfBinaryFile.cpp.

References E_REL, elfRead2(), elfRead4(), EM_386, EM_SPARC, BinaryFile::GetSectionInfoByAddr(), m_pImage, BinaryFile::m_pSections, m_sh_info, SHT_REL, size, SectionInfo::uHostAddr, and SectionInfo::uNativeAddr.

ADDRESS ElfBinaryFile::NativeToHostAddress ADDRESS  uNative  ) 
 

Definition at line 730 of file ElfBinaryFile.cpp.

References BinaryFile::m_pSections, SectionInfo::uHostAddr, and SectionInfo::uNativeAddr.

Referenced by getDependencyList().

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

Implements BinaryFile.

Definition at line 752 of file ElfBinaryFile.cpp.

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

Implements BinaryFile.

Definition at line 740 of file ElfBinaryFile.cpp.

int ElfBinaryFile::ProcessElfFile  )  [private]
 

int ElfBinaryFile::readNative1 ADDRESS  a  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 958 of file ElfBinaryFile.cpp.

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

int ElfBinaryFile::readNative2 ADDRESS  a  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 968 of file ElfBinaryFile.cpp.

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

int ElfBinaryFile::readNative4 ADDRESS  a  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 976 of file ElfBinaryFile.cpp.

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

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

QWord ElfBinaryFile::readNative8 ADDRESS  a  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 1001 of file ElfBinaryFile.cpp.

References m_elfEndianness, and readNative4().

float ElfBinaryFile::readNativeFloat4 ADDRESS  a  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 1021 of file ElfBinaryFile.cpp.

References readNative4().

double ElfBinaryFile::readNativeFloat8 ADDRESS  a  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 1029 of file ElfBinaryFile.cpp.

References m_elfEndianness, and readNative4().

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

Implements BinaryFile.

Definition at line 102 of file ElfBinaryFile.cpp.

References Elf32_Ehdr::e_ident, Elf32_Ehdr::e_phoff, Elf32_Ehdr::e_shnum, Elf32_Ehdr::e_shoff, Elf32_Ehdr::e_shstrndx, elfRead2(), elfRead4(), Elf32_Ehdr::endianness, BinaryFile::m_bArchive, m_elfEndianness, m_fd, BinaryFile::m_iNumSections, m_lImageSize, m_pFileName, m_pImage, m_pPhdrs, BinaryFile::m_pSections, m_pShdrs, m_pStrings, m_sh_info, m_sh_link, NULL, and size.

bool ElfBinaryFile::SearchValueByName const char *  pName,
SymValue pVal,
const char *  pSectName,
const char *  pStrName
[private]
 

Definition at line 574 of file ElfBinaryFile.cpp.

References E_REL, elfRead2(), elfRead4(), BinaryFile::GetSectionInfo(), BinaryFile::GetSectionInfoByName(), SymValue::iSymSize, m_pImage, SectionInfo::uHostAddr, SectionInfo::uNativeAddr, SectionInfo::uSectionEntrySize, SectionInfo::uSectionSize, and SymValue::uSymAddr.

bool ElfBinaryFile::SearchValueByName const char *  pName,
SymValue pVal
[private]
 

Definition at line 608 of file ElfBinaryFile.cpp.

Referenced by ValueByName().

void ElfBinaryFile::SetLinkAndInfo int  idx,
int  link,
int  info
 

void ElfBinaryFile::SetRelocInfo PSectionInfo  pSect  )  [private]
 

const char * ElfBinaryFile::SymbolByAddress ADDRESS  uAddr  )  [virtual]
 

Reimplemented from BinaryFile.

Definition at line 500 of file ElfBinaryFile.cpp.

References m_SymTab.

void ElfBinaryFile::UnLoad  )  [virtual]
 

Implements BinaryFile.

Definition at line 286 of file ElfBinaryFile.cpp.

References Init(), m_fd, and m_pImage.

Referenced by Close().

bool ElfBinaryFile::ValueByName const char *  pName,
SymValue pVal,
bool  bNoTypeOK = false
[private]
 

Definition at line 507 of file ElfBinaryFile.cpp.

References E_REL, ELF32_ST_TYPE, elf_hash(), elfRead2(), elfRead4(), BinaryFile::GetSectionIndexByName(), BinaryFile::GetSectionInfo(), BinaryFile::GetSectionInfoByName(), GetStrPtr(), SymValue::iSymSize, m_pImage, SearchValueByName(), STT_NOTYPE, SectionInfo::uHostAddr, SectionInfo::uNativeAddr, and SymValue::uSymAddr.

Referenced by GetAddressByName(), and GetSizeByName().

void ElfBinaryFile::writeNative4 ADDRESS  nat,
unsigned int  n
 

Definition at line 983 of file ElfBinaryFile.cpp.

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

Referenced by AddRelocsAsSyms().

void ElfBinaryFile::writeObjectFile std::string &  path,
const char *  name,
void *  ptxt,
int  txtsz,
RelocMap reloc
 


Member Data Documentation

ADDRESS ElfBinaryFile::first_extern [private]
 

Definition at line 289 of file ElfBinaryFile.h.

Referenced by IsDynamicLinkedProc().

bool ElfBinaryFile::m_bAddend [private]
 

Definition at line 280 of file ElfBinaryFile.h.

char ElfBinaryFile::m_elfEndianness [private]
 

Definition at line 273 of file ElfBinaryFile.h.

Referenced by elfRead2(), elfRead4(), elfWrite4(), readNative8(), readNativeFloat8(), RealLoad(), and writeNative4().

std::list<SectionInfo*> ElfBinaryFile::m_EntryPoint [private]
 

Definition at line 285 of file ElfBinaryFile.h.

Referenced by GetEntryPoints().

FILE* ElfBinaryFile::m_fd [private]
 

Definition at line 267 of file ElfBinaryFile.h.

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

int ElfBinaryFile::m_iLastSize [private]
 

Definition at line 282 of file ElfBinaryFile.h.

Referenced by GetAddressByName(), GetSizeByName(), and Init().

long ElfBinaryFile::m_lImageSize [private]
 

Definition at line 268 of file ElfBinaryFile.h.

Referenced by RealLoad().

const char* ElfBinaryFile::m_pFileName
 

Definition at line 244 of file ElfBinaryFile.h.

Referenced by ElfBinaryFile(), getFilename(), and RealLoad().

char* ElfBinaryFile::m_pImage [private]
 

Definition at line 269 of file ElfBinaryFile.h.

Referenced by AddSyms(), applyRelocations(), GetEntryPoint(), GetMachine(), Init(), isLibrary(), IsRelocationAt(), RealLoad(), SearchValueByName(), UnLoad(), and ValueByName().

ADDRESS* ElfBinaryFile::m_pImportStubs [private]
 

Definition at line 286 of file ElfBinaryFile.h.

Referenced by Init(), and ~ElfBinaryFile().

Elf32_Phdr* ElfBinaryFile::m_pPhdrs [private]
 

Definition at line 270 of file ElfBinaryFile.h.

Referenced by Init(), and RealLoad().

Elf32_Rel* ElfBinaryFile::m_pReloc [private]
 

Definition at line 278 of file ElfBinaryFile.h.

Referenced by AddRelocsAsSyms(), and Init().

Elf32_Shdr* ElfBinaryFile::m_pShdrs [private]
 

Definition at line 271 of file ElfBinaryFile.h.

Referenced by Init(), and RealLoad().

char* ElfBinaryFile::m_pStrings [private]
 

Definition at line 272 of file ElfBinaryFile.h.

Referenced by Init(), and RealLoad().

Elf32_Sym* ElfBinaryFile::m_pSym [private]
 

Definition at line 279 of file ElfBinaryFile.h.

Referenced by AddRelocsAsSyms(), AddSyms(), and Init().

SymTab ElfBinaryFile::m_Reloc [private]
 

Definition at line 277 of file ElfBinaryFile.h.

int* ElfBinaryFile::m_sh_info [private]
 

Definition at line 292 of file ElfBinaryFile.h.

Referenced by applyRelocations(), IsRelocationAt(), and RealLoad().

int* ElfBinaryFile::m_sh_link [private]
 

Definition at line 291 of file ElfBinaryFile.h.

Referenced by AddRelocsAsSyms(), AddSyms(), applyRelocations(), and RealLoad().

std::map<ADDRESS, std::string> ElfBinaryFile::m_SymTab [private]
 

Definition at line 274 of file ElfBinaryFile.h.

Referenced by AddRelocsAsSyms(), AddSymbol(), AddSyms(), dumpSymbols(), GetImportStubs(), getSymbols(), and SymbolByAddress().

ADDRESS ElfBinaryFile::m_uBaseAddr [private]
 

Definition at line 287 of file ElfBinaryFile.h.

Referenced by getImageBase().

size_t ElfBinaryFile::m_uImageSize [private]
 

Definition at line 288 of file ElfBinaryFile.h.

Referenced by getImageSize().

ADDRESS ElfBinaryFile::m_uLastAddr [private]
 

Definition at line 281 of file ElfBinaryFile.h.

Referenced by GetAddressByName(), and GetSizeByName().

ADDRESS ElfBinaryFile::m_uPltMax [private]
 

Definition at line 284 of file ElfBinaryFile.h.

Referenced by Init(), and IsDynamicLinkedProc().

ADDRESS ElfBinaryFile::m_uPltMin [private]
 

Definition at line 283 of file ElfBinaryFile.h.

Referenced by GetImportStubs(), Init(), and IsDynamicLinkedProc().

ADDRESS ElfBinaryFile::next_extern [private]
 

Definition at line 290 of file ElfBinaryFile.h.

Referenced by AddRelocsAsSyms(), and IsDynamicLinkedProc().


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