|
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 bufsize_t | getContentSize ()=0 |
| virtual BYTE * | getContent ()=0 |
| virtual bool | isTruncated () |
| virtual bool | isResized () |
| BYTE | operator[] (size_t idx) |
| virtual offset_t | getOffset (void *ptr, bool allowExceptions=false) |
| 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) |
| QString | getWStringValue (offset_t rawOffset, bufsize_t len) |
| QString | getWAsciiStringValue (offset_t rawOffset, bufsize_t len) |
| 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 DebugDirCVEntryWrapper, DelayImpFuncWrapper, ExceptionEntryWrapper, ExportEntryWrapper, LdConfigEntryWrapper, RelocBlockWrapper, RelocEntryWrapper, ResourceEntryWrapper, ResourceLeafWrapper, TlsEntryWrapper, ClrDirWrapper, DataDirWrapper, DebugDirEntryWrapper, DelayImpEntryWrapper, DosHdrWrapper, ExportDirWrapper, FileHdrWrapper, ImportEntryWrapper, ImportedFuncWrapper, LdConfigDirWrapper, OptHdrWrapper, SectionHdrWrapper, and TlsDirWrapper.
Definition at line 47 of file ExeElementWrapper.h.
|
inlinevirtual |
Reimplemented in RelocBlockWrapper, ResString, ResourceStringsWrapper, ResourceContentWrapper, ReourceManifestWrapper, ReourceHTMLWrapper, ResourceVersionWrapper, 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 BoundImpDirWrapper, BoundEntryWrapper, ClrDirWrapper, DataDirWrapper, DebugDirWrapper, DebugDirEntryWrapper, DebugDirCVEntryWrapper, DelayImpEntryWrapper, DelayImpFuncWrapper, DosHdrWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExportDirWrapper, ExportEntryWrapper, FileHdrWrapper, ImportBaseDirWrapper, ImportEntryWrapper, ImportedFuncWrapper, LdConfigDirWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocDirWrapper, RelocBlockWrapper, RelocEntryWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceLeafWrapper, RichHdrWrapper, ResourceContentWrapper, ResString, ResourceStringsWrapper, ResourceVersionWrapper, SectionHdrWrapper, SectHdrsWrapper, SecurityDirWrapper, TlsDirWrapper, TlsEntryWrapper, and ExeNodeWrapper.
|
virtual |
|
inline |
|
pure virtual |
Implemented in BoundImpDirWrapper, BoundEntryWrapper, ClrDirWrapper, DataDirWrapper, DebugDirWrapper, DebugDirEntryWrapper, DelayImpEntryWrapper, ExceptionDirWrapper, ExportDirWrapper, ImportBaseDirWrapper, LdConfigDirWrapper, RelocDirWrapper, ResourceDirWrapper, ResourceLeafWrapper, ResourceContentWrapper, ResString, ResourceStringsWrapper, ResourceVersionWrapper, SectHdrsWrapper, SecurityDirWrapper, TlsDirWrapper, DebugDirCVEntryWrapper, DelayImpFuncWrapper, DosHdrWrapper, ExceptionEntryWrapper, ExportEntryWrapper, FileHdrWrapper, ImportEntryWrapper, ImportedFuncWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocBlockWrapper, RelocEntryWrapper, ResourceEntryWrapper, RichHdrWrapper, SectionHdrWrapper, and TlsEntryWrapper.
|
pure virtual |
Implemented in BoundImpDirWrapper, BoundEntryWrapper, ClrDirWrapper, DataDirWrapper, DebugDirWrapper, DebugDirEntryWrapper, DebugDirCVEntryWrapper, DelayImpEntryWrapper, DelayImpFuncWrapper, DosHdrWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExportDirWrapper, ExportEntryWrapper, FileHdrWrapper, ImportBaseDirWrapper, ImportEntryWrapper, ImportedFuncWrapper, LdConfigDirWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocDirWrapper, RelocBlockWrapper, RelocEntryWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceLeafWrapper, RichHdrWrapper, ResourceContentWrapper, ResString, ResourceStringsWrapper, ResourceVersionWrapper, SectionHdrWrapper, SectHdrsWrapper, SecurityDirWrapper, TlsDirWrapper, and TlsEntryWrapper.
|
virtual |
Reimplemented in ResString, DataDirWrapper, LdConfigEntryWrapper, RelocDirWrapper, ResourceDirWrapper, SectHdrsWrapper, BoundImpDirWrapper, DebugDirWrapper, DelayImpFuncWrapper, ExportEntryWrapper, ImportBaseDirWrapper, ImportedFuncWrapper, OptHdrWrapper, RichHdrWrapper, and ResourceStringsWrapper.
Definition at line 12 of file ExeElementWrapper.cpp.

|
pure virtual |
Implemented in BoundImpDirWrapper, BoundEntryWrapper, ClrDirWrapper, DataDirWrapper, DebugDirWrapper, DebugDirEntryWrapper, DebugDirCVEntryWrapper, DelayImpDirWrapper, DelayImpEntryWrapper, DosHdrWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExportDirWrapper, ExportEntryWrapper, FileHdrWrapper, ImportBaseFuncWrapper, ImportDirWrapper, ImportEntryWrapper, LdConfigDirWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocDirWrapper, RelocBlockWrapper, RelocEntryWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceLeafWrapper, RichHdrWrapper, ResourceContentWrapper, ResString, ResourceVersionWrapper, SectionHdrWrapper, SectHdrsWrapper, SecurityDirWrapper, TlsDirWrapper, and TlsEntryWrapper.
|
inline |
|
virtual |
|
virtual |
|
virtual |
Reimplemented from AbstractByteBuffer.
Definition at line 45 of file ExeElementWrapper.cpp.

|
pure virtual |
Implemented in BoundImpDirWrapper, BoundEntryWrapper, ClrDirWrapper, DataDirWrapper, DebugDirWrapper, DebugDirEntryWrapper, DebugDirCVEntryWrapper, DelayImpDirWrapper, DelayImpEntryWrapper, DelayImpFuncWrapper, DosHdrWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExportDirWrapper, ExportEntryWrapper, FileHdrWrapper, ImportDirWrapper, ImportEntryWrapper, ImportedFuncWrapper, LdConfigDirWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocDirWrapper, RelocBlockWrapper, RelocEntryWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceLeafWrapper, RichHdrWrapper, ResourceContentWrapper, ResString, ResourceVersionWrapper, SectionHdrWrapper, SectHdrsWrapper, SecurityDirWrapper, TlsDirWrapper, and TlsEntryWrapper.
|
pure virtual |
Implemented in BoundImpDirWrapper, BoundEntryWrapper, ClrDirWrapper, DataDirWrapper, DebugDirWrapper, DebugDirEntryWrapper, DebugDirCVEntryWrapper, DelayImpDirWrapper, DelayImpEntryWrapper, DelayImpFuncWrapper, DosHdrWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExportDirWrapper, ExportEntryWrapper, FileHdrWrapper, ImportDirWrapper, ImportEntryWrapper, ImportedFuncWrapper, LdConfigDirWrapper, LdConfigEntryWrapper, OptHdrWrapper, RelocDirWrapper, RelocBlockWrapper, RelocEntryWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceLeafWrapper, RichHdrWrapper, ResourceContentWrapper, ResString, ResourceVersionWrapper, SectionHdrWrapper, SectHdrsWrapper, SecurityDirWrapper, TlsDirWrapper, and TlsEntryWrapper.
|
inlinevirtual |
Reimplemented in ExeNodeWrapper, BoundEntryWrapper, ClrDirWrapper, DataDirWrapper, DebugDirEntryWrapper, DebugDirCVEntryWrapper, DelayImpFuncWrapper, ExceptionEntryWrapper, ExportDirWrapper, ExportEntryWrapper, ImportBaseEntryWrapper, ImportedFuncWrapper, LdConfigDirWrapper, RelocEntryWrapper, ResourceDirWrapper, ResourceEntryWrapper, ResourceContentWrapper, ResString, ResourceVersionWrapper, 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, DebugDirEntryWrapper, DebugDirCVEntryWrapper, FileHdrWrapper, LdConfigDirWrapper, OptHdrWrapper, RichHdrWrapper, and SecurityDirWrapper.
Definition at line 40 of file ExeElementWrapper.h.
|
inlinevirtual |
Reimplemented in ExeNodeWrapper, BoundImpDirWrapper, BoundEntryWrapper, ClrDirWrapper, DebugDirWrapper, DebugDirEntryWrapper, ExceptionDirWrapper, ExceptionEntryWrapper, ExportDirWrapper, FileHdrWrapper, ImportBaseDirWrapper, ImportBaseEntryWrapper, LdConfigDirWrapper, OptHdrWrapper, RelocDirWrapper, RelocBlockWrapper, ResourceDirWrapper, ResourceEntryWrapper, RichHdrWrapper, ResourceStringsWrapper, SectionHdrWrapper, SectHdrsWrapper, 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.