BearParser
Portable Executable parsing library (from PE-bear)
|
#include <ExeElementWrapper.h>
Public Member Functions | |
ExeElementWrapper (Executable *exe) | |
virtual | ~ExeElementWrapper () |
virtual bool | wrap () |
virtual bufsize_t | getContentSize () |
virtual BYTE * | getContent () |
virtual void * | getPtr ()=0 |
virtual bufsize_t | getSize ()=0 |
virtual QString | getName ()=0 |
virtual size_t | getFieldsCount ()=0 |
virtual size_t | getSubFieldsCount () |
virtual offset_t | getOffset () |
virtual offset_t | getOffset (void *ptr, bool allowExceptions=false) |
virtual void * | getFieldPtr (size_t fieldId, size_t subField)=0 |
void * | getFieldPtr (size_t fieldId) |
virtual bufsize_t | getFieldSize (size_t fieldId, size_t subField=FIELD_NONE) |
virtual offset_t | getFieldOffset (size_t fieldId, size_t subField=FIELD_NONE) |
virtual QString | translateFieldContent (size_t fieldId) |
virtual bool | hasSubfieldWrapper (size_t parentType) |
virtual QString | getFieldName (size_t fieldId)=0 |
virtual WrappedValue | getWrappedValue (size_t fieldId, size_t subField) |
virtual WrappedValue | getWrappedValue (size_t fieldId) |
virtual Executable::addr_type | containsAddrType (size_t fieldId, size_t subField=FIELD_NONE) |
virtual WrappedValue::data_type | containsDataType (size_t fieldId, size_t subField=FIELD_NONE) |
virtual uint64_t | getNumValue (size_t fieldId, size_t subField, bool *isOk) |
uint64_t | getNumValue (size_t fieldId, bool *isOk) |
virtual bool | setNumValue (size_t fieldId, size_t subField, uint64_t val) |
bool | setNumValue (size_t fieldId, uint64_t val) |
Executable * | getExe () |
bool | isBit64 () |
bool | isBit32 () |
Public Member Functions inherited from AbstractByteBuffer | |
AbstractByteBuffer () | |
virtual | ~AbstractByteBuffer () |
virtual bool | isTruncated () |
virtual bool | isResized () |
BYTE | operator[] (size_t idx) |
virtual BYTE * | getContentAt (offset_t offset, bufsize_t size, bool allowExceptions=false) |
virtual BYTE * | getContentAtPtr (BYTE *ptr, bufsize_t size, 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) |
virtual bool | resize (bufsize_t newSize) |
offset_t | substFragmentByFile (offset_t offset, bufsize_t contentSize, QFile &fIn) |
Protected Member Functions | |
virtual bool | canCopyToOffset (offset_t rawOffset) |
bool | copyToOffset (offset_t rawOffset) |
Protected Attributes | |
Executable * | m_Exe |
Friends | |
class | Executable |
Additional Inherited Members | |
Static Public Member Functions inherited from AbstractByteBuffer | |
static bool | isValid (AbstractByteBuffer *buf) |
Definition at line 11 of file ExeElementWrapper.h.
ExeElementWrapper::ExeElementWrapper | ( | Executable * | exe | ) |
|
inlinevirtual |
Definition at line 15 of file ExeElementWrapper.h.
|
protectedvirtual |
|
inlinevirtual |
Reimplemented in ClrDirWrapper, DataDirWrapper, DebugDirCVEntryWrapper, DebugDirEntryWrapper, DelayImpEntryWrapper, DelayImpFuncWrapper, DosHdrWrapper, ExceptionEntryWrapper, ExportDirWrapper, ExportEntryWrapper, FileHdrWrapper, ImportedFuncWrapper, ImportEntryWrapper, LdConfigDirWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocBlockWrapper, RelocEntryWrapper, ResourceEntryWrapper, ResourceLeafWrapper, SectionHdrWrapper, TlsDirWrapper, and TlsEntryWrapper.
Definition at line 47 of file ExeElementWrapper.h.
|
inlinevirtual |
Reimplemented in RelocBlockWrapper, ReourceHTMLWrapper, ReourceManifestWrapper, ResourceContentWrapper, ResourceStringsWrapper, ResourceVersionWrapper, ResString, SectionHdrWrapper, and SecurityDirWrapper.
Definition at line 48 of file ExeElementWrapper.h.
|
protected |
|
inlinevirtual |
Implements AbstractByteBuffer.
Definition at line 21 of file ExeElementWrapper.h.
|
inlinevirtual |
Implements AbstractByteBuffer.
Definition at line 20 of file ExeElementWrapper.h.
|
inline |
Definition at line 56 of file ExeElementWrapper.h.
|
pure virtual |
Implemented in BoundEntryWrapper, BoundImpDirWrapper, ClrDirWrapper, DataDirWrapper, DebugDirCVEntryWrapper, DebugDirEntryWrapper, DebugDirWrapper, DelayImpEntryWrapper, DelayImpFuncWrapper, DosHdrWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExeNodeWrapper, ExportDirWrapper, ExportEntryWrapper, FileHdrWrapper, ImportBaseDirWrapper, ImportedFuncWrapper, ImportEntryWrapper, LdConfigDirWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocBlockWrapper, RelocDirWrapper, RelocEntryWrapper, ResourceContentWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceLeafWrapper, ResourceStringsWrapper, ResourceVersionWrapper, ResString, RichHdrWrapper, SectHdrsWrapper, SectionHdrWrapper, SecurityDirWrapper, TlsDirWrapper, and TlsEntryWrapper.
|
virtual |
|
inline |
|
pure virtual |
Implemented in BoundEntryWrapper, BoundImpDirWrapper, ClrDirWrapper, DataDirWrapper, DebugDirCVEntryWrapper, DebugDirEntryWrapper, DebugDirWrapper, DelayImpEntryWrapper, DelayImpFuncWrapper, DosHdrWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExportDirWrapper, ExportEntryWrapper, FileHdrWrapper, ImportBaseDirWrapper, ImportedFuncWrapper, ImportEntryWrapper, LdConfigDirWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocBlockWrapper, RelocDirWrapper, RelocEntryWrapper, ResourceContentWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceLeafWrapper, ResourceStringsWrapper, ResourceVersionWrapper, ResString, RichHdrWrapper, SectHdrsWrapper, SectionHdrWrapper, SecurityDirWrapper, TlsDirWrapper, and TlsEntryWrapper.
|
pure virtual |
Implemented in BoundEntryWrapper, BoundImpDirWrapper, ClrDirWrapper, DataDirWrapper, DebugDirCVEntryWrapper, DebugDirEntryWrapper, DebugDirWrapper, DelayImpEntryWrapper, DelayImpFuncWrapper, DosHdrWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExportDirWrapper, ExportEntryWrapper, FileHdrWrapper, ImportBaseDirWrapper, ImportedFuncWrapper, ImportEntryWrapper, LdConfigDirWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocBlockWrapper, RelocDirWrapper, RelocEntryWrapper, ResourceContentWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceLeafWrapper, ResourceStringsWrapper, ResourceVersionWrapper, ResString, RichHdrWrapper, SectHdrsWrapper, SectionHdrWrapper, SecurityDirWrapper, TlsDirWrapper, and TlsEntryWrapper.
|
virtual |
Reimplemented in BoundImpDirWrapper, DataDirWrapper, DebugDirWrapper, DelayImpFuncWrapper, ExportEntryWrapper, ImportBaseDirWrapper, ImportedFuncWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocDirWrapper, ResourceDirWrapper, ResourceStringsWrapper, ResString, RichHdrWrapper, and SectHdrsWrapper.
Definition at line 12 of file ExeElementWrapper.cpp.
|
pure virtual |
Implemented in BoundEntryWrapper, BoundImpDirWrapper, ClrDirWrapper, DataDirWrapper, DebugDirCVEntryWrapper, DebugDirEntryWrapper, DebugDirWrapper, DelayImpDirWrapper, DelayImpEntryWrapper, DosHdrWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExportDirWrapper, ExportEntryWrapper, FileHdrWrapper, ImportBaseFuncWrapper, ImportDirWrapper, ImportEntryWrapper, LdConfigDirWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocBlockWrapper, RelocDirWrapper, RelocEntryWrapper, ResourceContentWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceLeafWrapper, ResourceVersionWrapper, ResString, RichHdrWrapper, SectHdrsWrapper, SectionHdrWrapper, SecurityDirWrapper, TlsDirWrapper, and TlsEntryWrapper.
|
inline |
|
virtual |
|
virtual |
|
virtual |
Reimplemented from AbstractByteBuffer.
Definition at line 45 of file ExeElementWrapper.cpp.
|
pure virtual |
Implemented in BoundEntryWrapper, BoundImpDirWrapper, ClrDirWrapper, DataDirWrapper, DebugDirCVEntryWrapper, DebugDirEntryWrapper, DebugDirWrapper, DelayImpDirWrapper, DelayImpEntryWrapper, DelayImpFuncWrapper, DosHdrWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExportDirWrapper, ExportEntryWrapper, FileHdrWrapper, ImportDirWrapper, ImportedFuncWrapper, ImportEntryWrapper, LdConfigDirWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocBlockWrapper, RelocDirWrapper, RelocEntryWrapper, ResourceContentWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceLeafWrapper, ResourceVersionWrapper, ResString, RichHdrWrapper, SectHdrsWrapper, SectionHdrWrapper, SecurityDirWrapper, TlsDirWrapper, and TlsEntryWrapper.
|
pure virtual |
Implemented in BoundEntryWrapper, BoundImpDirWrapper, ClrDirWrapper, DataDirWrapper, DebugDirCVEntryWrapper, DebugDirEntryWrapper, DebugDirWrapper, DelayImpDirWrapper, DelayImpEntryWrapper, DelayImpFuncWrapper, DosHdrWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExportDirWrapper, ExportEntryWrapper, FileHdrWrapper, ImportDirWrapper, ImportedFuncWrapper, ImportEntryWrapper, LdConfigDirWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocBlockWrapper, RelocDirWrapper, RelocEntryWrapper, ResourceContentWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceLeafWrapper, ResourceVersionWrapper, ResString, RichHdrWrapper, SectHdrsWrapper, SectionHdrWrapper, SecurityDirWrapper, TlsDirWrapper, and TlsEntryWrapper.
|
inlinevirtual |
Reimplemented in BoundEntryWrapper, ClrDirWrapper, DataDirWrapper, DebugDirCVEntryWrapper, DebugDirEntryWrapper, DelayImpFuncWrapper, ExceptionEntryWrapper, ExeNodeWrapper, ExportDirWrapper, ExportEntryWrapper, ImportBaseEntryWrapper, ImportedFuncWrapper, LdConfigDirWrapper, RelocEntryWrapper, ResourceContentWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceVersionWrapper, ResString, SectionHdrWrapper, SecurityDirWrapper, TlsDirWrapper, and TlsEntryWrapper.
Definition at line 29 of file ExeElementWrapper.h.
|
inlinevirtual |
|
virtual |
|
inlinevirtual |
Reimplemented in LdConfigDirWrapper.
Definition at line 41 of file ExeElementWrapper.h.
|
inline |
|
inline |
|
virtual |
|
inline |
|
inlinevirtual |
Reimplemented in ClrDirWrapper, DebugDirCVEntryWrapper, DebugDirEntryWrapper, FileHdrWrapper, LdConfigDirWrapper, OptHdrWrapper, RichHdrWrapper, and SecurityDirWrapper.
Definition at line 40 of file ExeElementWrapper.h.
|
inlinevirtual |
Reimplemented in BoundEntryWrapper, BoundImpDirWrapper, ClrDirWrapper, DebugDirEntryWrapper, DebugDirWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExeNodeWrapper, ExportDirWrapper, FileHdrWrapper, ImportBaseDirWrapper, ImportBaseEntryWrapper, LdConfigDirWrapper, OptHdrWrapper, RelocBlockWrapper, RelocDirWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceStringsWrapper, RichHdrWrapper, SectHdrsWrapper, SectionHdrWrapper, SecurityDirWrapper, and TlsDirWrapper.
Definition at line 17 of file ExeElementWrapper.h.
|
friend |
Definition at line 67 of file ExeElementWrapper.h.
|
protected |
Definition at line 65 of file ExeElementWrapper.h.