BearParser
Portable Executable parsing library (from PE-bear)
Loading...
Searching...
No Matches
PEFile Class Reference

#include <PEFile.h>

Collaboration diagram for PEFile:

Public Types

enum  WRAPPERS {
  WR_NONE = MappedExe::WR_NONE , WR_DOS_HDR = DOSExe::WR_DOS_HDR , WR_RICH_HDR , WR_FILE_HDR ,
  WR_OPTIONAL_HDR , WR_DATADIR , WR_SECTIONS , WR_DIR_ENTRY ,
  WR_DIR_ENTRY_END = WR_DIR_ENTRY + pe::DIR_ENTRIES_COUNT , COUNT_WRAPPERS
}
 
- Public Types inherited from Executable
enum  exe_bits { UNKNOWN = 0 , BITS_16 = 16 , BITS_32 = 32 , BITS_64 = 64 }
 
enum  exe_arch { ARCH_UNKNOWN = 0 , ARCH_INTEL = 1 , ARCH_ARM = 2 }
 
enum  addr_type { NOT_ADDR = 0 , RAW = 1 , RVA = 2 , VA = 3 }
 
- Public Types inherited from ExeWrappersContainer
enum  WRAPPERS { WR_NONE = size_t(-1) , COUNT_WRAPPERS = 0 }
 

Public Member Functions

 PEFile (AbstractByteBuffer *v_buf)
 
virtual ~PEFile ()
 
virtual void wrap ()
 
bool wrapDataDirs ()
 
virtual bufsize_t getMappedSize (Executable::addr_type aType)
 
virtual bufsize_t getAlignment (Executable::addr_type aType) const
 
virtual offset_t getImageBase (bool recalculate=false)
 
virtual offset_t getEntryPoint (Executable::addr_type addrType=Executable::RVA)
 
virtual exe_bits getBitMode ()
 
virtual exe_arch getArch ()
 
offset_t peFileHdrOffset () const
 
offset_t peNtHdrOffset () const
 
bufsize_t peNtHeadersSize () const
 
offset_t peOptHdrOffset () const
 
offset_t secHdrsOffset () const
 
bufsize_t hdrsSize ()
 
ResourcesAlbumgetResourcesAlbum () const
 
pe::RICH_SIGNATURE * getRichHeaderSign ()
 
pe::RICH_DANS_HEADER * getRichHeaderBgn (pe::RICH_SIGNATURE *sign)
 
IMAGE_DATA_DIRECTORY * getDataDirectory ()
 
offset_t peDataDirOffset ()
 
size_t hdrSectionsNum () const
 
exe_bits getHdrBitMode ()
 
exe_arch getHdrArch ()
 
offset_t getLastMapped (Executable::addr_type aType)
 
virtual offset_t rawToRva (offset_t raw)
 
virtual offset_t rvaToRaw (offset_t rva)
 
offset_t getMinSecRVA ()
 
size_t getSectionsCount (bool useMapped=true)
 
size_t getSecIndex (SectionHdrWrapper *sec)
 
SectionHdrWrappergetSecHdr (size_t index)
 
SectionHdrWrappergetSecHdrAtOffset (offset_t offset, Executable::addr_type aType, bool recalculate=false, bool verbose=false)
 
SectionHdrWrappergetEntrySection ()
 
BYTE * getSecContent (SectionHdrWrapper *sec)
 
BufferViewcreateSectionView (size_t secNum)
 
bool clearContent (SectionHdrWrapper *sec)
 
offset_t secHdrsEndOffset ()
 
SectionHdrWrappergetLastSection ()
 
bool canAddNewSection ()
 
SectionHdrWrapperaddNewSection (QString name, bufsize_t size, bufsize_t v_size=0)
 
SectionHdrWrapperextendLastSection (bufsize_t addedSize)
 
bool dumpSection (SectionHdrWrapper *sec, QString fileName)
 
ResourcesContainergetResourcesOfType (pe::resource_type typeId)
 
DataDirEntryWrappergetDataDirEntry (pe::dir_entry eType)
 
bool setEntryPoint (offset_t entry, Executable::addr_type aType)
 
bool moveDataDirEntry (pe::dir_entry id, offset_t newOffset, Executable::addr_type addType=Executable::RAW)
 
bool unbindImports ()
 
ImportDirWrappergetImportsDir ()
 
DelayImpDirWrappergetDelayedImportsDir ()
 
BoundImpDirWrappergetBoundImportsDir ()
 
DebugDirWrappergetDebugDir ()
 
ExportDirWrappergetExportsDir ()
 
SecurityDirWrappergetSecurityDir ()
 
TlsDirWrappergetTlsDir ()
 
LdConfigDirWrappergetLoadConfigDir ()
 
RelocDirWrappergetRelocsDir ()
 
ExceptionDirWrappergetExceptionsDir ()
 
ResourceDirWrappergetResourcesDir ()
 
ClrDirWrappergetClsDir ()
 
virtual size_t getAllEntryPoints (QMap< offset_t, QString > &entrypoints, Executable::addr_type aType=Executable::RVA)
 
bool hasDirectory (pe::dir_entry dirNum)
 
bufsize_t getFileAlignment () const
 
bufsize_t getSectionAlignment () const
 
void setImageSize (size_t newSize)
 
bool canResize (bufsize_t newSize)
 
bool isReproBuild ()
 
- Public Member Functions inherited from MappedExe
virtual bool resize (bufsize_t newSize)
 
- Public Member Functions inherited from Executable
bool isBit64 ()
 
bool isBit32 ()
 
virtual ~Executable (void)
 
virtual bufsize_t getContentSize ()
 
virtual BYTE * getContent ()
 
virtual offset_t getRawSize () const
 
BYTE * getContentAtPtr (BYTE *ptr, bufsize_t size, bool allowExceptions=false)
 
BYTE * getContentAt (offset_t offset, bufsize_t size, bool allowExceptions=false)
 
virtual BYTE * getContentAt (offset_t offset, Executable::addr_type aType, bufsize_t size, bool allowExceptions=false)
 
virtual bufsize_t getImageSize ()
 
virtual bool isValidAddr (offset_t addr, addr_type addrType)
 
virtual bool isValidVA (offset_t va)
 
virtual offset_t convertAddr (offset_t inAddr, Executable::addr_type inType, Executable::addr_type outType)
 
virtual offset_t toRaw (offset_t offset, addr_type addrType, bool allowExceptions=false)
 
Executable::addr_type detectAddrType (offset_t addr, Executable::addr_type hintType)
 
virtual offset_t VaToRva (offset_t va, bool autodetect=false)
 
virtual offset_t rvaToVa (offset_t rva)
 
virtual offset_t vaToRaw (offset_t va)
 
QString getFileName ()
 
virtual bool isResized ()
 
virtual bool isTruncated ()
 
AbstractByteBuffergetFileBuffer () const
 
bufsize_t getFileSize () const
 
virtual bool dumpFragment (offset_t offset, bufsize_t size, QString fileName)
 
- Public Member Functions inherited from AbstractByteBuffer
 AbstractByteBuffer ()
 
virtual ~AbstractByteBuffer ()
 
BYTE operator[] (size_t idx)
 
virtual offset_t getOffset (void *ptr, bool allowExceptions=false)
 
virtual bool setBufferedValue (BYTE *dstPtr, BYTE *srcPtr, bufsize_t srcSize, bufsize_t paddingSize, bool allowExceptions=false)
 
bool setStringValue (offset_t rawOffset, QString newText)
 
QString getStringValue (offset_t rawOffset, bufsize_t len=BUFSIZE_MAX, bool acceptNonTerminated=false)
 
QString getWStringValue (offset_t rawOffset, bufsize_t len)
 
QString getWAsciiStringValue (offset_t rawOffset, bufsize_t len, bool acceptNonTerminated=false)
 
bufsize_t getMaxSizeFromOffset (offset_t startOffset)
 
bufsize_t getMaxSizeFromPtr (BYTE *ptr)
 
bool isAreaEmpty (offset_t rawOffset, bufsize_t size)
 
bool fillContent (BYTE filling)
 
bool pasteBuffer (offset_t rawOffset, AbstractByteBuffer *buf, bool allowTrunc)
 
bool containsBlock (offset_t rawOffset, bufsize_t size)
 
bool intersectsBlock (offset_t rawOffset, bufsize_t size)
 
uint64_t getNumValue (offset_t offset, bufsize_t size, bool *isOk)
 
bool setNumValue (offset_t offset, bufsize_t size, uint64_t newVal)
 
bool setTextValue (char *textPtr, std::string newText, size_t fieldLimitLen=0)
 
offset_t substFragmentByFile (offset_t offset, bufsize_t contentSize, QFile &fIn)
 
- Public Member Functions inherited from ExeWrappersContainer
 ExeWrappersContainer ()
 
virtual ~ExeWrappersContainer (void)
 
virtual ExeElementWrappergetWrapper (size_t wrapperId)
 
size_t wrappersCount ()
 
QString getWrapperName (size_t id)
 

Static Public Member Functions

static long computeChecksum (BYTE *buffer, size_t bufferSize, offset_t checksumOffset)
 
- Static Public Member Functions inherited from Executable
static bool isBit64 (Executable *exe)
 
static bool isBit32 (Executable *exe)
 
- Static Public Member Functions inherited from AbstractByteBuffer
static bool isValid (AbstractByteBuffer *buf)
 

Protected Member Functions

void wrapCore ()
 
SectionHdrWrapper_getLastSection ()
 
bool _canAddNewSection ()
 
offset_t _secHdrsEndOffset ()
 
offset_t _getLastMapped (Executable::addr_type aType)
 
size_t _getSectionsCount (bool useMapped=true) const
 
size_t _getSecIndex (SectionHdrWrapper *sec) const
 
SectionHdrWrapper_getSecHdr (size_t index) const
 
SectionHdrWrapper_getSecHdrAtOffset (offset_t offset, Executable::addr_type aType, bool recalculate=false, bool verbose=false)
 
BufferView_createSectionView (SectionHdrWrapper *sec)
 
size_t getExportsMap (QMap< offset_t, QString > &entrypoints, Executable::addr_type aType=Executable::RVA)
 
virtual void clearWrappers ()
 
void _init (AbstractByteBuffer *v_buf)
 
void initDirEntries ()
 
bool setHdrSectionsNum (size_t newNum)
 
bool setVirtualSize (bufsize_t newSize)
 
- Protected Member Functions inherited from MappedExe
 MappedExe (AbstractByteBuffer *v_buf, exe_bits v_bitMode)
 
virtual ~MappedExe (void)
 
- Protected Member Functions inherited from Executable
 Executable (AbstractByteBuffer *v_buf, exe_bits v_bitMode)
 
- Protected Member Functions inherited from ExeWrappersContainer
void clearWrappers ()
 

Protected Attributes

PECore core
 
DosHdrWrapperdosHdrWrapper
 
FileHdrWrapperfHdr
 
OptHdrWrapperoptHdr
 
SectHdrsWrappersects
 
ResourcesAlbumalbum
 
DataDirEntryWrapperdataDirEntries [pe::DIR_ENTRIES_COUNT]
 
QMutex m_peMutex
 
- Protected Attributes inherited from Executable
exe_bits bitMode
 
AbstractByteBufferbuf
 
- Protected Attributes inherited from ExeWrappersContainer
std::map< size_t, ExeElementWrapper * > wrappers
 

Friends

class SectHdrsWrapper
 
class SectionHdrWrapper
 

Detailed Description

Definition at line 44 of file PEFile.h.

Member Enumeration Documentation

◆ WRAPPERS

Enumerator
WR_NONE 
WR_DOS_HDR 
WR_RICH_HDR 
WR_FILE_HDR 
WR_OPTIONAL_HDR 
WR_DATADIR 
WR_SECTIONS 
WR_DIR_ENTRY 
WR_DIR_ENTRY_END 
COUNT_WRAPPERS 

Definition at line 47 of file PEFile.h.

Constructor & Destructor Documentation

◆ PEFile()

PEFile::PEFile ( AbstractByteBuffer * v_buf)

Definition at line 105 of file PEFile.cpp.

Here is the call graph for this function:

◆ ~PEFile()

virtual PEFile::~PEFile ( )
inlinevirtual

Definition at line 63 of file PEFile.h.

Here is the call graph for this function:

Member Function Documentation

◆ _canAddNewSection()

bool PEFile::_canAddNewSection ( )
protected

Definition at line 494 of file PEFile.cpp.

Here is the call graph for this function:

◆ _createSectionView()

BufferView * PEFile::_createSectionView ( SectionHdrWrapper * sec)
protected

Definition at line 697 of file PEFile.cpp.

Here is the call graph for this function:

◆ _getLastMapped()

offset_t PEFile::_getLastMapped ( Executable::addr_type aType)
protected

Definition at line 576 of file PEFile.cpp.

Here is the call graph for this function:

◆ _getLastSection()

SectionHdrWrapper * PEFile::_getLastSection ( )
protected

Definition at line 570 of file PEFile.cpp.

Here is the call graph for this function:

◆ _getSecHdr()

SectionHdrWrapper * PEFile::_getSecHdr ( size_t index) const
inlineprotected

Definition at line 371 of file PEFile.h.

Here is the call graph for this function:

◆ _getSecHdrAtOffset()

SectionHdrWrapper * PEFile::_getSecHdrAtOffset ( offset_t offset,
Executable::addr_type aType,
bool recalculate = false,
bool verbose = false )
inlineprotected

Definition at line 376 of file PEFile.h.

Here is the call graph for this function:

◆ _getSecIndex()

size_t PEFile::_getSecIndex ( SectionHdrWrapper * sec) const
inlineprotected

Definition at line 366 of file PEFile.h.

Here is the call graph for this function:

◆ _getSectionsCount()

size_t PEFile::_getSectionsCount ( bool useMapped = true) const
protected

Definition at line 371 of file PEFile.cpp.

Here is the call graph for this function:

◆ _init()

void PEFile::_init ( AbstractByteBuffer * v_buf)
protected

Definition at line 116 of file PEFile.cpp.

Here is the call graph for this function:

◆ _secHdrsEndOffset()

offset_t PEFile::_secHdrsEndOffset ( )
inlineprotected

Definition at line 352 of file PEFile.h.

Here is the call graph for this function:

◆ addNewSection()

SectionHdrWrapper * PEFile::addNewSection ( QString name,
bufsize_t size,
bufsize_t v_size = 0 )

scope1

Definition at line 508 of file PEFile.cpp.

Here is the call graph for this function:

◆ canAddNewSection()

bool PEFile::canAddNewSection ( )
inline

Definition at line 198 of file PEFile.h.

Here is the call graph for this function:

◆ canResize()

bool PEFile::canResize ( bufsize_t newSize)
inlinevirtual

Reimplemented from MappedExe.

Definition at line 323 of file PEFile.h.

Here is the call graph for this function:

◆ clearContent()

bool PEFile::clearContent ( SectionHdrWrapper * sec)
inline

Definition at line 169 of file PEFile.h.

Here is the call graph for this function:

◆ clearWrappers()

void PEFile::clearWrappers ( )
protectedvirtual

Definition at line 162 of file PEFile.cpp.

Here is the call graph for this function:

◆ computeChecksum()

long PEFile::computeChecksum ( BYTE * buffer,
size_t bufferSize,
offset_t checksumOffset )
static

Definition at line 45 of file PEFile.cpp.

◆ createSectionView()

BufferView * PEFile::createSectionView ( size_t secNum)

Definition at line 447 of file PEFile.cpp.

Here is the call graph for this function:

◆ dumpSection()

bool PEFile::dumpSection ( SectionHdrWrapper * sec,
QString fileName )

Definition at line 661 of file PEFile.cpp.

Here is the call graph for this function:

◆ extendLastSection()

SectionHdrWrapper * PEFile::extendLastSection ( bufsize_t addedSize)

scope0

Definition at line 620 of file PEFile.cpp.

Here is the call graph for this function:

◆ getAlignment()

virtual bufsize_t PEFile::getAlignment ( Executable::addr_type aType) const
inlinevirtual

Implements Executable.

Definition at line 69 of file PEFile.h.

Here is the call graph for this function:

◆ getAllEntryPoints()

virtual size_t PEFile::getAllEntryPoints ( QMap< offset_t, QString > & entrypoints,
Executable::addr_type aType = Executable::RVA )
inlinevirtual

Reimplemented from Executable.

Definition at line 290 of file PEFile.h.

Here is the call graph for this function:

◆ getArch()

virtual exe_arch PEFile::getArch ( )
inlinevirtual

Implements Executable.

Definition at line 74 of file PEFile.h.

Here is the call graph for this function:

◆ getBitMode()

virtual exe_bits PEFile::getBitMode ( )
inlinevirtual

Reimplemented from Executable.

Definition at line 73 of file PEFile.h.

Here is the call graph for this function:

◆ getBoundImportsDir()

BoundImpDirWrapper * PEFile::getBoundImportsDir ( )
inline

Definition at line 239 of file PEFile.h.

Here is the call graph for this function:

◆ getClsDir()

ClrDirWrapper * PEFile::getClsDir ( )
inline

Definition at line 284 of file PEFile.h.

Here is the call graph for this function:

◆ getDataDirectory()

IMAGE_DATA_DIRECTORY * PEFile::getDataDirectory ( )

Definition at line 292 of file PEFile.cpp.

◆ getDataDirEntry()

DataDirEntryWrapper * PEFile::getDataDirEntry ( pe::dir_entry eType)

Definition at line 441 of file PEFile.cpp.

◆ getDebugDir()

DebugDirWrapper * PEFile::getDebugDir ( )
inline

Definition at line 244 of file PEFile.h.

Here is the call graph for this function:

◆ getDelayedImportsDir()

DelayImpDirWrapper * PEFile::getDelayedImportsDir ( )
inline

Definition at line 234 of file PEFile.h.

Here is the call graph for this function:

◆ getEntryPoint()

offset_t PEFile::getEntryPoint ( Executable::addr_type addrType = Executable::RVA)
virtual

Implements Executable.

Definition at line 316 of file PEFile.cpp.

Here is the call graph for this function:

◆ getEntrySection()

SectionHdrWrapper * PEFile::getEntrySection ( )
inline

Definition at line 142 of file PEFile.h.

Here is the call graph for this function:

◆ getExceptionsDir()

ExceptionDirWrapper * PEFile::getExceptionsDir ( )
inline

Definition at line 274 of file PEFile.h.

Here is the call graph for this function:

◆ getExportsDir()

ExportDirWrapper * PEFile::getExportsDir ( )
inline

Definition at line 249 of file PEFile.h.

Here is the call graph for this function:

◆ getExportsMap()

size_t PEFile::getExportsMap ( QMap< offset_t, QString > & entrypoints,
Executable::addr_type aType = Executable::RVA )
protected

Definition at line 708 of file PEFile.cpp.

Here is the call graph for this function:

◆ getFileAlignment()

bufsize_t PEFile::getFileAlignment ( ) const
inline

Definition at line 307 of file PEFile.h.

Here is the call graph for this function:

◆ getHdrArch()

exe_arch PEFile::getHdrArch ( )
inline

Definition at line 98 of file PEFile.h.

Here is the call graph for this function:

◆ getHdrBitMode()

exe_bits PEFile::getHdrBitMode ( )
inline

Definition at line 96 of file PEFile.h.

Here is the call graph for this function:

◆ getImageBase()

virtual offset_t PEFile::getImageBase ( bool recalculate = false)
inlinevirtual

Implements Executable.

Definition at line 70 of file PEFile.h.

Here is the call graph for this function:

◆ getImportsDir()

ImportDirWrapper * PEFile::getImportsDir ( )
inline

Definition at line 229 of file PEFile.h.

Here is the call graph for this function:

◆ getLastMapped()

offset_t PEFile::getLastMapped ( Executable::addr_type aType)
inline

Definition at line 102 of file PEFile.h.

Here is the call graph for this function:

◆ getLastSection()

SectionHdrWrapper * PEFile::getLastSection ( )
inline

Definition at line 191 of file PEFile.h.

Here is the call graph for this function:

◆ getLoadConfigDir()

LdConfigDirWrapper * PEFile::getLoadConfigDir ( )
inline

Definition at line 264 of file PEFile.h.

Here is the call graph for this function:

◆ getMappedSize()

bufsize_t PEFile::getMappedSize ( Executable::addr_type aType)
virtual

Implements Executable.

Definition at line 298 of file PEFile.cpp.

Here is the call graph for this function:

◆ getMinSecRVA()

offset_t PEFile::getMinSecRVA ( )

Definition at line 273 of file PEFile.cpp.

Here is the call graph for this function:

◆ getRelocsDir()

RelocDirWrapper * PEFile::getRelocsDir ( )
inline

Definition at line 269 of file PEFile.h.

Here is the call graph for this function:

◆ getResourcesAlbum()

ResourcesAlbum * PEFile::getResourcesAlbum ( ) const
inline

Definition at line 85 of file PEFile.h.

◆ getResourcesDir()

ResourceDirWrapper * PEFile::getResourcesDir ( )
inline

Definition at line 279 of file PEFile.h.

Here is the call graph for this function:

◆ getResourcesOfType()

ResourcesContainer * PEFile::getResourcesOfType ( pe::resource_type typeId)
inline

Definition at line 215 of file PEFile.h.

Here is the call graph for this function:

◆ getRichHeaderBgn()

pe::RICH_DANS_HEADER * PEFile::getRichHeaderBgn ( pe::RICH_SIGNATURE * sign)

Definition at line 217 of file PEFile.cpp.

Here is the call graph for this function:

◆ getRichHeaderSign()

pe::RICH_SIGNATURE * PEFile::getRichHeaderSign ( )

Definition at line 244 of file PEFile.cpp.

Here is the call graph for this function:

◆ getSecContent()

BYTE * PEFile::getSecContent ( SectionHdrWrapper * sec)
inline

Definition at line 150 of file PEFile.h.

Here is the call graph for this function:

◆ getSecHdr()

SectionHdrWrapper * PEFile::getSecHdr ( size_t index)
inline

Definition at line 128 of file PEFile.h.

Here is the call graph for this function:

◆ getSecHdrAtOffset()

SectionHdrWrapper * PEFile::getSecHdrAtOffset ( offset_t offset,
Executable::addr_type aType,
bool recalculate = false,
bool verbose = false )
inline

Definition at line 135 of file PEFile.h.

Here is the call graph for this function:

◆ getSecIndex()

size_t PEFile::getSecIndex ( SectionHdrWrapper * sec)
inline

Definition at line 121 of file PEFile.h.

Here is the call graph for this function:

◆ getSectionAlignment()

bufsize_t PEFile::getSectionAlignment ( ) const
inline

Definition at line 312 of file PEFile.h.

Here is the call graph for this function:

◆ getSectionsCount()

size_t PEFile::getSectionsCount ( bool useMapped = true)
inline

Definition at line 114 of file PEFile.h.

Here is the call graph for this function:

◆ getSecurityDir()

SecurityDirWrapper * PEFile::getSecurityDir ( )
inline

Definition at line 254 of file PEFile.h.

Here is the call graph for this function:

◆ getTlsDir()

TlsDirWrapper * PEFile::getTlsDir ( )
inline

Definition at line 259 of file PEFile.h.

Here is the call graph for this function:

◆ hasDirectory()

bool PEFile::hasDirectory ( pe::dir_entry dirNum)
inline

Definition at line 302 of file PEFile.h.

Here is the call graph for this function:

◆ hdrSectionsNum()

size_t PEFile::hdrSectionsNum ( ) const

Definition at line 340 of file PEFile.cpp.

Here is the call graph for this function:

◆ hdrsSize()

bufsize_t PEFile::hdrsSize ( )
inline

Definition at line 83 of file PEFile.h.

Here is the call graph for this function:

◆ initDirEntries()

void PEFile::initDirEntries ( )
protected

Definition at line 173 of file PEFile.cpp.

◆ isReproBuild()

bool PEFile::isReproBuild ( )
inline

Definition at line 336 of file PEFile.h.

Here is the call graph for this function:

◆ moveDataDirEntry()

bool PEFile::moveDataDirEntry ( pe::dir_entry id,
offset_t newOffset,
Executable::addr_type addType = Executable::RAW )

Definition at line 458 of file PEFile.cpp.

Here is the call graph for this function:

◆ peDataDirOffset()

offset_t PEFile::peDataDirOffset ( )

Definition at line 286 of file PEFile.cpp.

Here is the call graph for this function:

◆ peFileHdrOffset()

offset_t PEFile::peFileHdrOffset ( ) const
inline

Definition at line 77 of file PEFile.h.

Here is the call graph for this function:

◆ peNtHdrOffset()

offset_t PEFile::peNtHdrOffset ( ) const
inline

Definition at line 78 of file PEFile.h.

Here is the call graph for this function:

◆ peNtHeadersSize()

bufsize_t PEFile::peNtHeadersSize ( ) const
inline

Definition at line 79 of file PEFile.h.

Here is the call graph for this function:

◆ peOptHdrOffset()

offset_t PEFile::peOptHdrOffset ( ) const
inline

Definition at line 80 of file PEFile.h.

Here is the call graph for this function:

◆ rawToRva()

offset_t PEFile::rawToRva ( offset_t raw)
virtual

Implements Executable.

Definition at line 379 of file PEFile.cpp.

Here is the call graph for this function:

◆ rvaToRaw()

offset_t PEFile::rvaToRaw ( offset_t rva)
virtual

Implements Executable.

Definition at line 407 of file PEFile.cpp.

Here is the call graph for this function:

◆ secHdrsEndOffset()

offset_t PEFile::secHdrsEndOffset ( )
inline

Definition at line 184 of file PEFile.h.

Here is the call graph for this function:

◆ secHdrsOffset()

offset_t PEFile::secHdrsOffset ( ) const
inline

Definition at line 81 of file PEFile.h.

Here is the call graph for this function:

◆ setEntryPoint()

bool PEFile::setEntryPoint ( offset_t entry,
Executable::addr_type aType )

Definition at line 331 of file PEFile.cpp.

Here is the call graph for this function:

◆ setHdrSectionsNum()

bool PEFile::setHdrSectionsNum ( size_t newNum)
protected

Definition at line 349 of file PEFile.cpp.

Here is the call graph for this function:

◆ setImageSize()

void PEFile::setImageSize ( size_t newSize)
inline

Definition at line 318 of file PEFile.h.

Here is the call graph for this function:

◆ setVirtualSize()

bool PEFile::setVirtualSize ( bufsize_t newSize)
protected

Definition at line 360 of file PEFile.cpp.

Here is the call graph for this function:

◆ unbindImports()

bool PEFile::unbindImports ( )

Definition at line 676 of file PEFile.cpp.

Here is the call graph for this function:

◆ wrap()

void PEFile::wrap ( )
virtual

Implements MappedExe.

Definition at line 211 of file PEFile.cpp.

Here is the call graph for this function:

◆ wrapCore()

void PEFile::wrapCore ( )
protected

Definition at line 180 of file PEFile.cpp.

Here is the call graph for this function:

◆ wrapDataDirs()

bool PEFile::wrapDataDirs ( )

Definition at line 193 of file PEFile.cpp.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ SectHdrsWrapper

friend class SectHdrsWrapper
friend

Definition at line 406 of file PEFile.h.

◆ SectionHdrWrapper

friend class SectionHdrWrapper
friend

Definition at line 407 of file PEFile.h.

Member Data Documentation

◆ album

ResourcesAlbum* PEFile::album
protected

Definition at line 402 of file PEFile.h.

◆ core

PECore PEFile::core
protected

Definition at line 395 of file PEFile.h.

◆ dataDirEntries

DataDirEntryWrapper* PEFile::dataDirEntries[pe::DIR_ENTRIES_COUNT]
protected

Definition at line 403 of file PEFile.h.

◆ dosHdrWrapper

DosHdrWrapper* PEFile::dosHdrWrapper
protected

Definition at line 396 of file PEFile.h.

◆ fHdr

FileHdrWrapper* PEFile::fHdr
protected

Definition at line 398 of file PEFile.h.

◆ m_peMutex

QMutex PEFile::m_peMutex
protected

Definition at line 404 of file PEFile.h.

◆ optHdr

OptHdrWrapper* PEFile::optHdr
protected

Definition at line 399 of file PEFile.h.

◆ sects

SectHdrsWrapper* PEFile::sects
protected

Definition at line 400 of file PEFile.h.


The documentation for this class was generated from the following files: