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 ()
 
DosHdrWrappergetDosHdrWrapper ()
 
FileHdrWrappergetFileHdrWrapper ()
 
OptHdrWrappergetOptHdrWrapper ()
 
DataDirWrappergetDataDirWrapper ()
 
RichHdrWrappergetRichHdrWrapper ()
 
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 (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 ()
 
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 (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
 
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 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:

Friends And Related Symbol Documentation

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