BearParser
Portable Executable parsing library (from PE-bear)
|
#include <ClrDirWrapper.h>
Public Types | |
enum | FieldID { NONE = FIELD_NONE , CB = 0 , MAJOR_RUNTIME_VER , MINOR_RUNTIME_VER , META_DATA_VA , META_DATA_SIZE , FLAGS , ENTRY_POINT , RESOURCES_VA , RESOURCES_SIZE , STRONG_NAME_SIGNATURE_VA , STRONG_NAME_SIGNATURE_SIZE , CODE_MANAGER_TABLE_VA , CODE_MANAGER_TABLE_SIZE , VTABLE_FIXUPS_VA , VTABLE_FIXUPS_SIZE , EXPORT_ADDR_TABLE_JMPS_VA , EXPORT_ADDR_TABLE_JMPS_SIZE , MANAGED_NATIVE_HDR_VA , MANAGED_NATIVE_HDR_SIZE , FIELD_COUNTER } |
Public Member Functions | |
ClrDirWrapper (PEFile *pe) | |
~ClrDirWrapper () | |
bool | wrap () |
virtual void * | getPtr () |
virtual bufsize_t | getSize () |
virtual QString | getName () |
virtual size_t | getFieldsCount () |
virtual size_t | getSubFieldsCount () |
virtual void * | getFieldPtr (size_t fieldId, size_t subField) |
virtual QString | getFieldName (size_t fieldId) |
virtual Executable::addr_type | containsAddrType (size_t fieldId, size_t subField=FIELD_NONE) |
QString | translateFieldContent (size_t fieldId) |
Public Member Functions inherited from DataDirEntryWrapper | |
IMAGE_DATA_DIRECTORY * | getDataDirectory () |
offset_t | getDirEntryAddress () |
bufsize_t | getDirEntrySize (bool trimToExeSize=false) |
int | getDirEntryType () |
Public Member Functions inherited from PENodeWrapper | |
PENodeWrapper (PEFile *pe, PENodeWrapper *parent=NULL) | |
PENodeWrapper (PEFile *pe, PENodeWrapper *parent, size_t entryNumber) | |
virtual | ~PENodeWrapper () |
PEFile * | getPE () |
virtual PENodeWrapper * | getParentNode () |
Public Member Functions inherited from ExeNodeWrapper | |
ExeNodeWrapper (Executable *pe, ExeNodeWrapper *parent=NULL) | |
ExeNodeWrapper (Executable *pe, ExeNodeWrapper *parent, size_t entryNumber) | |
virtual | ~ExeNodeWrapper () |
virtual void | reloadMapping () |
virtual ExeNodeWrapper * | getEntryAt (size_t fieldId) |
virtual size_t | getEntriesCount () |
virtual size_t | getEntriesNum () |
size_t | getEntryId () |
virtual void * | getSubfieldPtr (size_t fieldId, size_t subField) |
virtual bufsize_t | getSubfieldSize (size_t fieldId, size_t subField) |
virtual QString | getSubfieldName (size_t fieldId, size_t subField) |
virtual bool | canAddEntry () |
virtual ExeNodeWrapper * | addEntry (ExeNodeWrapper *entry) |
ExeNodeWrapper * | getLastEntry () |
virtual offset_t | getNextEntryOffset () |
virtual bufsize_t | geEntrySize () |
virtual bool | isValid () |
Public Member Functions inherited from ExeElementWrapper | |
ExeElementWrapper (Executable *exe) | |
virtual | ~ExeElementWrapper () |
virtual bufsize_t | getContentSize () |
virtual BYTE * | getContent () |
virtual offset_t | getOffset () |
virtual offset_t | getOffset (void *ptr, bool allowExceptions=false) |
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 bool | hasSubfieldWrapper (size_t parentType) |
virtual WrappedValue | getWrappedValue (size_t fieldId, size_t subField) |
virtual WrappedValue | getWrappedValue (size_t fieldId) |
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) |
Static Public Member Functions | |
static QString | translateFlag (DWORD value) |
static std::set< DWORD > | getFlagsSet (DWORD flags) |
Static Public Member Functions inherited from AbstractByteBuffer | |
static bool | isValid (AbstractByteBuffer *buf) |
Additional Inherited Members | |
Protected Member Functions inherited from DataDirEntryWrapper | |
DataDirEntryWrapper (PEFile *pe, pe::dir_entry v_entryType) | |
Protected Member Functions inherited from ExeNodeWrapper | |
size_t | getEntriesCount (std::vector< ExeNodeWrapper * > &_entries) |
ExeNodeWrapper * | getEntryAt (std::vector< ExeNodeWrapper * > &_entries, size_t fieldId) |
virtual void | addMapping (ExeNodeWrapper *entry) |
virtual bool | loadNextEntry (size_t entryNum) |
virtual ExeNodeWrapper * | addEntryAt (ExeNodeWrapper *entry, offset_t nextOffset) |
virtual bool | isMyEntryType (ExeNodeWrapper *entry) |
Protected Member Functions inherited from ExeElementWrapper | |
virtual bool | canCopyToOffset (offset_t rawOffset) |
bool | copyToOffset (offset_t rawOffset) |
Protected Attributes inherited from DataDirEntryWrapper | |
int | entryType |
Protected Attributes inherited from PENodeWrapper | |
PEFile * | m_PE |
PENodeWrapper * | peParentNode |
Protected Attributes inherited from ExeNodeWrapper | |
ExeNodeWrapper * | parentNode |
size_t | entryNum |
std::vector< ExeNodeWrapper * > | entries |
Protected Attributes inherited from ExeElementWrapper | |
Executable * | m_Exe |
Definition at line 6 of file ClrDirWrapper.h.
Definition at line 10 of file ClrDirWrapper.h.
|
inline |
|
inline |
Definition at line 40 of file ClrDirWrapper.h.
|
virtual |
Reimplemented from ExeElementWrapper.
Definition at line 148 of file ClrDirWrapper.cpp.
|
virtual |
Implements ExeNodeWrapper.
Definition at line 113 of file ClrDirWrapper.cpp.
|
virtual |
Implements ExeElementWrapper.
Definition at line 81 of file ClrDirWrapper.cpp.
|
virtual |
Implements ExeElementWrapper.
Definition at line 70 of file ClrDirWrapper.cpp.
|
static |
Definition at line 172 of file ClrDirWrapper.cpp.
|
virtual |
Implements ExeElementWrapper.
Definition at line 76 of file ClrDirWrapper.cpp.
|
virtual |
Implements ExeElementWrapper.
Definition at line 59 of file ClrDirWrapper.cpp.
|
virtual |
Implements ExeElementWrapper.
Definition at line 64 of file ClrDirWrapper.cpp.
|
inlinevirtual |
Reimplemented from ExeNodeWrapper.
Definition at line 48 of file ClrDirWrapper.h.
|
virtual |
Reimplemented from ExeElementWrapper.
Definition at line 216 of file ClrDirWrapper.cpp.
|
static |
Definition at line 193 of file ClrDirWrapper.cpp.
|
virtual |
Reimplemented from ExeNodeWrapper.
Definition at line 54 of file ClrDirWrapper.cpp.