BearParser
Portable Executable parsing library (from PE-bear)
Loading...
Searching...
No Matches
ClrDirWrapper.h
Go to the documentation of this file.
1#pragma once
2
4#include <set>
5
7{
8public:
9
33
34 static QString translateFlag(DWORD value);
35 static std::set<DWORD> getFlagsSet(DWORD flags);
36//---
38 : DataDirEntryWrapper(pe, pe::DIR_COM_DESCRIPTOR) { wrap(); }
39
40 ~ClrDirWrapper() { clear(); }
41
42 bool wrap();
43
44 virtual void* getPtr();
45 virtual bufsize_t getSize();
46 virtual QString getName();
47 virtual size_t getFieldsCount();
48 virtual size_t getSubFieldsCount() { return 1; }
49
50 virtual void* getFieldPtr(size_t fieldId, size_t subField);
51 virtual QString getFieldName(size_t fieldId);
52 virtual Executable::addr_type containsAddrType(size_t fieldId, size_t subField = FIELD_NONE);
53
54 QString translateFieldContent(size_t fieldId);
55
56private:
57 pe::IMAGE_COR20_HEADER* clrDir();
58
59 void clear() {}
60};
61
uint32_t bufsize_t
#define FIELD_NONE
ClrDirWrapper(PEFile *pe)
static std::set< DWORD > getFlagsSet(DWORD flags)
virtual size_t getFieldsCount()
virtual QString getName()
virtual QString getFieldName(size_t fieldId)
virtual size_t getSubFieldsCount()
QString translateFieldContent(size_t fieldId)
static QString translateFlag(DWORD value)
virtual Executable::addr_type containsAddrType(size_t fieldId, size_t subField=FIELD_NONE)
virtual bufsize_t getSize()
@ EXPORT_ADDR_TABLE_JMPS_SIZE
virtual void * getPtr()
virtual void * getFieldPtr(size_t fieldId, size_t subField)