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 , EXE_ARCH_COUNT }
enum  addr_type {
  NOT_ADDR = 0 , RAW = 1 , RVA = 2 , VA = 3 ,
  ADDR_TYPE_COUNT
}
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 ()
ResourcesAlbum * getResourcesAlbum () 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)
SectionHdrWrapper * getSecHdr (size_t index)
SectionHdrWrapper * getSecHdrAtOffset (offset_t offset, Executable::addr_type aType, bool recalculate=false, bool verbose=false)
SectionHdrWrapper * getEntrySection ()
BYTE * getSecContent (SectionHdrWrapper *sec)
BufferView * createSectionView (size_t secNum)
bool clearContent (SectionHdrWrapper *sec)
offset_t secHdrsEndOffset ()
SectionHdrWrapper * getLastSection ()
bool canAddNewSection ()
SectionHdrWrapper * addNewSection (QString name, bufsize_t size, bufsize_t v_size=0)
SectionHdrWrapper * extendLastSection (bufsize_t addedSize)
bool dumpSection (SectionHdrWrapper *sec, QString fileName)
ResourcesContainer * getResourcesOfType (pe::resource_type typeId)
DataDirEntryWrapper * getDataDirEntry (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 ()
DosHdrWrapper * getDosHdrWrapper ()
FileHdrWrapper * getFileHdrWrapper ()
OptHdrWrapper * getOptHdrWrapper ()
DataDirWrapper * getDataDirWrapper ()
RichHdrWrapper * getRichHdrWrapper ()
ImportDirWrapper * getImportsDir ()
DelayImpDirWrapper * getDelayedImportsDir ()
BoundImpDirWrapper * getBoundImportsDir ()
DebugDirWrapper * getDebugDir ()
ExportDirWrapper * getExportsDir ()
SecurityDirWrapper * getSecurityDir ()
TlsDirWrapper * getTlsDir ()
LdConfigDirWrapper * getLoadConfigDir ()
RelocDirWrapper * getRelocsDir ()
ExceptionDirWrapper * getExceptionsDir ()
ResourceDirWrapper * getResourcesDir ()
ClrDirWrapper * getClsDir ()
virtual size_t getAllEntryPoints (QMap< offset_t, QString > &entrypoints, Executable::addr_type aType=Executable::RVA)
bool hasDirectory (const pe::dir_entry &dirNum)
bufsize_t getFileAlignment () const
bufsize_t getSectionAlignment () const
void setImageSize (bufsize_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 ()
AbstractByteBuffer * getFileBuffer () 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 ExeElementWrapper * getWrapper (size_t wrapperId)
size_t wrappersCount ()
QString getWrapperName (size_t id)

Static Public Member Functions

static long computeChecksum (const 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
DosHdrWrapper * dosHdrWrapper
FileHdrWrapper * fHdr
OptHdrWrapper * optHdr
SectHdrsWrapper * sects
ResourcesAlbum * album
DataDirEntryWrapper * dataDirEntries [pe::DIR_ENTRIES_COUNT]
QMutex m_peMutex
Protected Attributes inherited from Executable
exe_bits bitMode
AbstractByteBuffer * buf
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 395 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 400 of file PEFile.h.

Here is the call graph for this function:

◆ _getSecIndex()

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

Definition at line 390 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 376 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 347 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 ( const 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.

◆ getAllEntryPoints()

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

Reimplemented from Executable.

Definition at line 315 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 264 of file PEFile.h.

Here is the call graph for this function:

◆ getClsDir()

ClrDirWrapper * PEFile::getClsDir ( )
inline

Definition at line 309 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.

◆ getDataDirWrapper()

DataDirWrapper * PEFile::getDataDirWrapper ( )
inline

Definition at line 243 of file PEFile.h.

Here is the call graph for this function:

◆ getDebugDir()

DebugDirWrapper * PEFile::getDebugDir ( )
inline

Definition at line 269 of file PEFile.h.

Here is the call graph for this function:

◆ getDelayedImportsDir()

DelayImpDirWrapper * PEFile::getDelayedImportsDir ( )
inline

Definition at line 259 of file PEFile.h.

Here is the call graph for this function:

◆ getDosHdrWrapper()

DosHdrWrapper * PEFile::getDosHdrWrapper ( )
inline

Definition at line 228 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 299 of file PEFile.h.

Here is the call graph for this function:

◆ getExportsDir()

ExportDirWrapper * PEFile::getExportsDir ( )
inline

Definition at line 274 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 332 of file PEFile.h.

Here is the call graph for this function:

◆ getFileHdrWrapper()

FileHdrWrapper * PEFile::getFileHdrWrapper ( )
inline

Definition at line 233 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.

◆ getHdrBitMode()

exe_bits PEFile::getHdrBitMode ( )
inline

Definition at line 96 of file PEFile.h.

◆ getImageBase()

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

Implements Executable.

Definition at line 70 of file PEFile.h.

◆ getImportsDir()

ImportDirWrapper * PEFile::getImportsDir ( )
inline

Definition at line 254 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 289 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:

◆ getOptHdrWrapper()

OptHdrWrapper * PEFile::getOptHdrWrapper ( )
inline

Definition at line 238 of file PEFile.h.

Here is the call graph for this function:

◆ getRelocsDir()

RelocDirWrapper * PEFile::getRelocsDir ( )
inline

Definition at line 294 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 304 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.

◆ getRichHdrWrapper()

RichHdrWrapper * PEFile::getRichHdrWrapper ( )
inline

Definition at line 248 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 337 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 279 of file PEFile.h.

Here is the call graph for this function:

◆ getTlsDir()

TlsDirWrapper * PEFile::getTlsDir ( )
inline

Definition at line 284 of file PEFile.h.

Here is the call graph for this function:

◆ hasDirectory()

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

Definition at line 327 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.

◆ hdrsSize()

bufsize_t PEFile::hdrsSize ( )
inline

Definition at line 83 of file PEFile.h.

◆ initDirEntries()

void PEFile::initDirEntries ( )
protected

Definition at line 173 of file PEFile.cpp.

◆ isReproBuild()

bool PEFile::isReproBuild ( )
inline

Definition at line 360 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.

◆ peFileHdrOffset()

offset_t PEFile::peFileHdrOffset ( ) const
inline

Definition at line 77 of file PEFile.h.

◆ peNtHdrOffset()

offset_t PEFile::peNtHdrOffset ( ) const
inline

Definition at line 78 of file PEFile.h.

◆ peNtHeadersSize()

bufsize_t PEFile::peNtHeadersSize ( ) const
inline

Definition at line 79 of file PEFile.h.

◆ peOptHdrOffset()

offset_t PEFile::peOptHdrOffset ( ) const
inline

Definition at line 80 of file PEFile.h.

◆ 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.

◆ 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 ( bufsize_t newSize)
inline

Definition at line 342 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.

◆ wrapDataDirs()

bool PEFile::wrapDataDirs ( )

Definition at line 193 of file PEFile.cpp.

Here is the call graph for this function:

◆ SectHdrsWrapper

friend class SectHdrsWrapper
friend

Definition at line 430 of file PEFile.h.

◆ SectionHdrWrapper

friend class SectionHdrWrapper
friend

Definition at line 431 of file PEFile.h.

Member Data Documentation

◆ album

ResourcesAlbum* PEFile::album
protected

Definition at line 426 of file PEFile.h.

◆ core

PECore PEFile::core
protected

Definition at line 419 of file PEFile.h.

◆ dataDirEntries

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

Definition at line 427 of file PEFile.h.

◆ dosHdrWrapper

DosHdrWrapper* PEFile::dosHdrWrapper
protected

Definition at line 420 of file PEFile.h.

◆ fHdr

FileHdrWrapper* PEFile::fHdr
protected

Definition at line 422 of file PEFile.h.

◆ m_peMutex

QMutex PEFile::m_peMutex
protected

Definition at line 428 of file PEFile.h.

◆ optHdr

OptHdrWrapper* PEFile::optHdr
protected

Definition at line 423 of file PEFile.h.

◆ sects

SectHdrsWrapper* PEFile::sects
protected

Definition at line 424 of file PEFile.h.


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