diff --git a/_delay_imp_dir_wrapper_8cpp_source.html b/_delay_imp_dir_wrapper_8cpp_source.html index 3be1cafa..074a3283 100644 --- a/_delay_imp_dir_wrapper_8cpp_source.html +++ b/_delay_imp_dir_wrapper_8cpp_source.html @@ -543,7 +543,7 @@ $(function() { codefold.init(0); });
Executable::detectAddrType
Executable::addr_type detectAddrType(offset_t addr, Executable::addr_type hintType)
Definition Executable.cpp:125
Executable::isBit32
static bool isBit32(Executable *exe)
Definition Executable.h:42
ImportBaseDirWrapper::addMapping
void addMapping(ExeNodeWrapper *func)
Definition ImportBaseDirWrapper.cpp:30
-
ImportBaseEntryWrapper::impDir
ImportBaseDirWrapper * impDir
Definition ImportBaseDirWrapper.h:77
+
ImportBaseEntryWrapper::impDir
ImportBaseDirWrapper * impDir
Definition ImportBaseDirWrapper.h:86
PENodeWrapper::m_PE
PEFile * m_PE
Definition PENodeWrapper.h:36
diff --git a/_delay_imp_dir_wrapper_8h_source.html b/_delay_imp_dir_wrapper_8h_source.html index 98cade8e..573a908e 100644 --- a/_delay_imp_dir_wrapper_8h_source.html +++ b/_delay_imp_dir_wrapper_8h_source.html @@ -278,9 +278,9 @@ $(function() { codefold.init(0); });
Executable::getBitMode
virtual exe_bits getBitMode()
Definition Executable.h:49
ImportBaseDirWrapper
Definition ImportBaseDirWrapper.h:16
ImportBaseDirWrapper::wrap
virtual bool wrap()
Definition ImportBaseDirWrapper.cpp:115
-
ImportBaseEntryWrapper
Definition ImportBaseDirWrapper.h:61
-
ImportBaseEntryWrapper::wrap
bool wrap()
Definition ImportBaseDirWrapper.cpp:157
-
ImportBaseFuncWrapper
Definition ImportBaseDirWrapper.h:83
+
ImportBaseEntryWrapper
Definition ImportBaseDirWrapper.h:67
+
ImportBaseEntryWrapper::wrap
bool wrap()
Definition ImportBaseDirWrapper.cpp:168
+
ImportBaseFuncWrapper
Definition ImportBaseDirWrapper.h:94
PEFile
Definition PEFile.h:45
diff --git a/_import_base_dir_wrapper_8cpp_source.html b/_import_base_dir_wrapper_8cpp_source.html index b04b677f..7270f2ce 100644 --- a/_import_base_dir_wrapper_8cpp_source.html +++ b/_import_base_dir_wrapper_8cpp_source.html @@ -242,110 +242,140 @@ $(function() { codefold.init(0); });
137 }
138 else {
139 invalidSeries++;
-
140 if (invalidSeries >= INVALID_LIMIT) break;
-
141 }
-
142 }
-
143
-
144 this->importsCount = cntr;
-
145 return (oldCount != this->importsCount); //has count changed
-
146}
+
140 this->invalidEntries++;
+
141 if (invalidSeries >= INVALID_LIMIT) break;
+
142 }
+
143 }
+
144
+
145 this->importsCount = cntr;
+
146 return (oldCount != this->importsCount); //has count changed
+
147}
-
147
-
148//--------------------------------------------------------------------------------------------------------------
-
149
-
-
150bool ImportBaseEntryWrapper::isValid()
-
151{
-
152 char *libName = this->getLibraryName();
-
153 bool isValid = imports_util::isNameValid(m_Exe, libName);
-
154 return isValid;
-
155}
+
148
+
+ +
150{
+
151 if (this->invalidEntries > 0) return false;
+
152
+ +
154 if (!thunks.size()) return false;
+
155 return true;
+
156}
+
+
157
+
158//--------------------------------------------------------------------------------------------------------------
+
159
+
+ +
161{
+
162 if (this->invalidEntries > 0) return false;
+
163 char *libName = this->getLibraryName();
+
164 if (!imports_util::isNameValid(m_Exe, libName)) return false;
+
165 return true;
+
166}
-
156
-
- -
158{
-
159 clear();
-
160 thunkToFuncMap.clear();
-
161
-
162 const size_t LIMIT = (-1);
-
163 const size_t INVALID_LIMIT = 100;
-
164 if (!isValid()) {
-
165 return false;
-
166 }
167
-
168 if (this->getPtr() == NULL) {
-
169 return false;
-
170 }
-
171
-
172 size_t cntr = 0;
-
173 size_t invalidSeries = 0;
-
174
-
175 for (cntr = 0; cntr < LIMIT; cntr++) {
-
176 if (loadNextEntry(cntr) == false) break;
-
177 ExeNodeWrapper* entry = this->entries.at(cntr);
-
178 if (!entry) break;
-
179 if (entry->isValid()) {
-
180 invalidSeries = 0;
-
181 }
-
182 else {
- -
184 if (invalidSeries >= INVALID_LIMIT) break;
-
185 }
-
186 }
-
187 //printf("Entries: %d\n", entries.size());
-
188 return true;
-
189}
+
+ +
169{
+
170 clear();
+
171 thunkToFuncMap.clear();
+
172
+
173 const size_t LIMIT = (-1);
+
174 const size_t INVALID_LIMIT = 100;
+
175 if (!isValid()) {
+
176 return false;
+
177 }
+
178
+
179 if (this->getPtr() == NULL) {
+
180 return false;
+
181 }
+
182
+
183 size_t cntr = 0;
+
184 size_t invalidSeries = 0;
+
185
+
186 for (cntr = 0; cntr < LIMIT; cntr++) {
+
187 if (loadNextEntry(cntr) == false) break;
+
188 ExeNodeWrapper* entry = this->entries.at(cntr);
+
189 if (!entry) break;
+
190 if (entry->isValid()) {
+
191 invalidSeries = 0;
+
192 }
+
193 else {
+ +
195 this->invalidEntries++;
+
196 if (invalidSeries >= INVALID_LIMIT) break;
+
197 }
+
198 }
+
199 //printf("Entries: %d\n", entries.size());
+
200 return true;
+
201}
-
190
-
191//--------------------------------------------------------------------------------------------------------------
-
- -
193{
- -
195 if (isByOrdinal()) {
- -
197 QString out;
-
198#if QT_VERSION >= 0x050000
-
199 out = QString::asprintf("<ord: %llX>", static_cast<unsigned long long>(val));
-
200#else
-
201 out.sprintf("<ord: %llX>", static_cast<unsigned long long>(val));
-
202#endif
- -
204 } else {
-
205 char *fName = this->getFunctionName();
-
206 if (!fName) return "";
- -
208 }
-
209 return functionName;
-
210}
+
202
+
203//--------------------------------------------------------------------------------------------------------------
+
+ +
205{
+ +
207 if (isByOrdinal()) {
+ +
209 QString out;
+
210#if QT_VERSION >= 0x050000
+
211 out = QString::asprintf("<ord: %llX>", static_cast<unsigned long long>(val));
+
212#else
+
213 out.sprintf("<ord: %llX>", static_cast<unsigned long long>(val));
+
214#endif
+ +
216 } else {
+
217 char *fName = this->getFunctionName();
+
218 if (!fName) return "";
+ +
220 }
+
221 return functionName;
+
222}
-
211
-
- -
213{
- -
215 if (!p) return "";
-
216
-
217 char *libName = p->getLibraryName();
-
218 if (!libName) return "";
-
219
-
220 return QString(libName);
-
221}
+
223
+
+ +
225{
+ +
227 if (!p) return "";
+
228
+
229 char *libName = p->getLibraryName();
+
230 if (!libName) return "";
+
231
+
232 return QString(libName);
+
233}
-
222
-
- -
224{
- - -
227
-
228 if (!libName.length()) return functionName;
-
229
-
230 return "[" + QString(libName) + "]." + functionName;
-
231}
+
234
+
+ +
236{
+ + +
239
+
240 if (!libName.length()) return functionName;
+
241
+
242 return "[" + QString(libName) + "]." + functionName;
+
243}
+
+
244
+
+ +
246{
+ +
248 if (!p) return false;
+
249
+
250 char *libName = p->getLibraryName();
+
251 if (!imports_util::isNameValid(m_Exe, libName)) return false;
+
252
+
253 if (!isByOrdinal()) {
+
254 char *fName = this->getFunctionName();
+
255 if (!imports_util::isNameValid(m_Exe, libName)) return false;
+
256 }
+
257 return true;
+
258}
-
232
INT_TYPE _getNumValue(void *ptr)
uint32_t bufsize_t
const offset_t INVALID_ADDR
@@ -368,29 +398,34 @@ $(function() { codefold.init(0); });
static bufsize_t thunkSize(Executable::exe_bits bits)
ImportBaseEntryWrapper * thunkToLib(offset_t thunk)
-
QList< offset_t > thunksList
-
std::map< offset_t, size_t > thunkToLibMap
- +
QList< offset_t > thunksList
+
std::map< offset_t, size_t > thunkToLibMap
+ + +
QList< offset_t > getThunksList()
+
QString thunkToLibName(offset_t thunk)
ImportBaseFuncWrapper * thunkToFunction(offset_t thunk)
void addMapping(ExeNodeWrapper *func)
QString thunkToFuncName(offset_t thunk, bool shortName=true)
-
-
static bufsize_t NameLenLimit
-
bool wrap()
-
virtual bool isValid()
+
+
size_t invalidEntries
+
static bufsize_t NameLenLimit
+
bool wrap()
+
virtual bool isValid()
virtual char * getLibraryName()=0
-
std::map< offset_t, size_t > thunkToFuncMap
- - +
std::map< offset_t, size_t > thunkToFuncMap
+ + +
virtual uint64_t getOrdinal()=0
virtual char * getFunctionName()=0
virtual offset_t callVia()=0
- - + +
virtual bool isByOrdinal()=0
virtual PENodeWrapper * getParentNode()
diff --git a/_import_base_dir_wrapper_8h_source.html b/_import_base_dir_wrapper_8h_source.html index ebdf2d7f..3c85a1ba 100644 --- a/_import_base_dir_wrapper_8h_source.html +++ b/_import_base_dir_wrapper_8h_source.html @@ -107,109 +107,122 @@ $(function() { codefold.init(0); });
19
20 virtual bool wrap();
-
21 virtual void clearMapping();
-
22 virtual void reloadMapping();
-
23 virtual size_t getFieldsCount() { return this->importsCount; }
-
24
-
25 virtual void* getFieldPtr(size_t fieldId, size_t subField) { return getSubfieldPtr(fieldId, subField ); }
-
26 virtual QString getFieldName(size_t fieldId, size_t subField) { return getSubfieldName(fieldId, subField ); }
- - -
29
- - -
32
- +
21 virtual bool isValid();
+
22
+
23 virtual void clearMapping();
+
24 virtual void reloadMapping();
+
25 virtual size_t getFieldsCount() { return this->importsCount; }
+
26
+
27 virtual void* getFieldPtr(size_t fieldId, size_t subField) { return getSubfieldPtr(fieldId, subField ); }
+
28 virtual QString getFieldName(size_t fieldId, size_t subField) { return getSubfieldName(fieldId, subField ); }
+ + +
31
+ +
34
-
- -
36 std::map<offset_t, size_t>::iterator libItr = thunkToLibMap.find(thunk);
-
37 return (libItr != thunkToLibMap.end());
-
38 }
+ +
36
+
+ +
38 std::map<offset_t, size_t>::iterator libItr = thunkToLibMap.find(thunk);
+
39 return (libItr != thunkToLibMap.end());
+
40 }
-
39
-
41
-
42protected:
- -
45
-
46 //virtual bool loadNextEntry(size_t entryNum) = 0;
-
47
- - -
50 //---
-
51 std::map<offset_t, size_t> thunkToLibMap;
- -
53
- -
55
- -
57};
+ +
43
+
44protected:
+
+ + + +
48 {
+
49 }
+
50
+
51 //virtual bool loadNextEntry(size_t entryNum) = 0;
+
52
+ + +
55 //---
+
56 std::map<offset_t, size_t> thunkToLibMap;
+
58
-
59
-
- -
61{
-
62public:
- + + +
61
+ +
63};
+
64
-
65 virtual char* getLibraryName() = 0;
-
66 virtual size_t getSubFieldsCount() { return 1; }
-
67 bool wrap();
-
68 virtual bool isValid();
-
69
-
70protected:
- -
73
- +
65
+
+ +
67{
+
68public:
+ +
70
+
71 virtual char* getLibraryName() = 0;
+
72 virtual size_t getSubFieldsCount() { return 1; }
+
73 bool wrap();
+
74 virtual bool isValid();
75
-
76 std::map<offset_t, size_t> thunkToFuncMap;
- -
78
- -
80};
+
76protected:
+ -
81
-
- -
83{
-
84public:
- -
87
-
88 virtual QString getName();
- - -
91
-
92 virtual bool isByOrdinal() = 0;
-
93 virtual uint64_t getOrdinal() = 0;
-
94 virtual char* getFunctionName() = 0;
-
95
-
96 virtual offset_t callVia() = 0;
-
97
-
- -
99 {
-
100 size_t val = (isBit64()) ? sizeof(uint64_t) : sizeof(uint32_t);
-
101 return static_cast<bufsize_t>(val);
-
102 }
-
-
103
-
104 inline bufsize_t getThunkValSize() { return getAddrSize(); }
-
105
- -
107};
+
92
+
+ +
94{
+
95public:
+ +
98
+
99 virtual QString getName();
+ + +
102
+
103 virtual bool isValid();
+
104
+
105 virtual bool isByOrdinal() = 0;
+
106 virtual uint64_t getOrdinal() = 0;
+
107 virtual char* getFunctionName() = 0;
108
+
109 virtual offset_t callVia() = 0;
+
110
+
+ +
112 {
+
113 size_t val = (isBit64()) ? sizeof(uint64_t) : sizeof(uint32_t);
+
114 return static_cast<bufsize_t>(val);
+
115 }
+
+
116
+
117 inline bufsize_t getThunkValSize() { return getAddrSize(); }
+
118
+ +
120};
+
+
121
INT_TYPE _getNumValue(void *ptr)
uint32_t bufsize_t
uint64_t offset_t
@@ -227,45 +240,49 @@ $(function() { codefold.init(0); });
static bufsize_t thunkSize(Executable::exe_bits bits)
ImportBaseEntryWrapper * thunkToLib(offset_t thunk)
-
QList< offset_t > thunksList
-
virtual QString getFieldName(size_t fieldId, size_t subField)
-
bool hasThunk(offset_t thunk)
-
std::map< offset_t, size_t > thunkToLibMap
- +
QList< offset_t > thunksList
+
virtual QString getFieldName(size_t fieldId, size_t subField)
+
bool hasThunk(offset_t thunk)
+
std::map< offset_t, size_t > thunkToLibMap
+ -
virtual bufsize_t getFieldSize(size_t fieldId, size_t subField=FIELD_NONE)
-
QList< offset_t > getThunksList()
+
virtual bufsize_t getFieldSize(size_t fieldId, size_t subField=FIELD_NONE)
+ +
QList< offset_t > getThunksList()
+
QString thunkToLibName(offset_t thunk)
ImportBaseFuncWrapper * thunkToFunction(offset_t thunk)
-
virtual QString getFieldName(size_t fieldId)
+
virtual QString getFieldName(size_t fieldId)
void addMapping(ExeNodeWrapper *func)
QString thunkToFuncName(offset_t thunk, bool shortName=true)
-
ImportBaseDirWrapper(PEFile *pe, pe::dir_entry v_entryType)
-
virtual size_t getFieldsCount()
-
virtual void * getFieldPtr(size_t fieldId, size_t subField)
-
-
ImportBaseDirWrapper * impDir
-
virtual size_t getSubFieldsCount()
-
static bufsize_t NameLenLimit
-
bool wrap()
-
void addMapping(ExeNodeWrapper *func)
-
virtual bool isValid()
-
ImportBaseEntryWrapper(PEFile *pe, ImportBaseDirWrapper *importsDir, size_t entryNumber)
+
ImportBaseDirWrapper(PEFile *pe, pe::dir_entry v_entryType)
+
virtual size_t getFieldsCount()
+
virtual void * getFieldPtr(size_t fieldId, size_t subField)
+
+
size_t invalidEntries
+
ImportBaseDirWrapper * impDir
+
virtual size_t getSubFieldsCount()
+
static bufsize_t NameLenLimit
+
bool wrap()
+
void addMapping(ExeNodeWrapper *func)
+
virtual bool isValid()
+
ImportBaseEntryWrapper(PEFile *pe, ImportBaseDirWrapper *importsDir, size_t entryNumber)
virtual char * getLibraryName()=0
-
std::map< offset_t, size_t > thunkToFuncMap
- - - +
std::map< offset_t, size_t > thunkToFuncMap
+ + + +
virtual uint64_t getOrdinal()=0
- +
virtual char * getFunctionName()=0
virtual offset_t callVia()=0
- - + +
virtual bool isByOrdinal()=0
-
ImportBaseFuncWrapper(PEFile *pe, ImportBaseEntryWrapper *parentLib, size_t entryNumber)
+
ImportBaseFuncWrapper(PEFile *pe, ImportBaseEntryWrapper *parentLib, size_t entryNumber)
diff --git a/_import_dir_wrapper_8cpp_source.html b/_import_dir_wrapper_8cpp_source.html index bc6a8afe..1d902190 100644 --- a/_import_dir_wrapper_8cpp_source.html +++ b/_import_dir_wrapper_8cpp_source.html @@ -523,11 +523,11 @@ $(function() { codefold.init(0); });
virtual offset_t toRaw(offset_t offset, addr_type addrType, bool allowExceptions=false)
BYTE * getContentAt(offset_t offset, bufsize_t size, bool allowExceptions=false)
Definition Executable.h:57
virtual offset_t getRawSize() const
Definition Executable.h:54
-
virtual size_t getFieldsCount()
-
static bufsize_t NameLenLimit
-
void addMapping(ExeNodeWrapper *func)
- - +
virtual size_t getFieldsCount()
+
static bufsize_t NameLenLimit
+
void addMapping(ExeNodeWrapper *func)
+ +
IMAGE_DATA_DIRECTORY * getDataDirectory()
virtual bufsize_t getSize()
virtual bool loadNextEntry(size_t cntr)
diff --git a/_import_dir_wrapper_8h_source.html b/_import_dir_wrapper_8h_source.html index 23d59fc0..c79d4054 100644 --- a/_import_dir_wrapper_8h_source.html +++ b/_import_dir_wrapper_8h_source.html @@ -281,9 +281,9 @@ $(function() { codefold.init(0); });
static bufsize_t thunkSize(Executable::exe_bits bits)
-
-
bool wrap()
- +
+
bool wrap()
+
ImportDirWrapper(PEFile *pe)
IMAGE_DATA_DIRECTORY * getDataDirectory()
diff --git a/class_delay_imp_dir_wrapper-members.html b/class_delay_imp_dir_wrapper-members.html index 142c134b..ccc16b0e 100644 --- a/class_delay_imp_dir_wrapper-members.html +++ b/class_delay_imp_dir_wrapper-members.html @@ -155,47 +155,48 @@ $(function() { ImportBaseDirWrapper(PEFile *pe, pe::dir_entry v_entryType)ImportBaseDirWrapperinlineprotected importsCountImportBaseDirWrapperprotected intersectsBlock(offset_t rawOffset, bufsize_t size)AbstractByteBuffer - is32()DelayImpDirWrapperinlineprotected - is64()DelayImpDirWrapperprotected - isAreaEmpty(offset_t rawOffset, bufsize_t size)AbstractByteBuffer - isBit32()ExeElementWrapperinline - isBit64()ExeElementWrapperinline - isMyEntryType(ExeNodeWrapper *entry)ExeNodeWrapperprotectedvirtual - isResized()AbstractByteBufferinlinevirtual - isTruncated()AbstractByteBufferinlinevirtual - isValid()ExeNodeWrapperinlinevirtual - ExeElementWrapper::isValid(AbstractByteBuffer *buf)AbstractByteBufferstatic - loadNextEntry(size_t cntr)DelayImpDirWrapperprotectedvirtual - m_ExeExeElementWrapperprotected - m_PEPENodeWrapperprotected - operator[](size_t idx)AbstractByteBuffer - parentNodeExeNodeWrapperprotected - pasteBuffer(offset_t rawOffset, AbstractByteBuffer *buf, bool allowTrunc)AbstractByteBuffer - PENodeWrapper(PEFile *pe, PENodeWrapper *parent=NULL)PENodeWrapper - PENodeWrapper(PEFile *pe, PENodeWrapper *parent, size_t entryNumber)PENodeWrapper - peParentNodePENodeWrapperprotected - reloadMapping()ImportBaseDirWrappervirtual - resize(bufsize_t newSize)AbstractByteBufferinlinevirtual - setBufferedValue(BYTE *dstPtr, BYTE *srcPtr, bufsize_t srcSize, bufsize_t paddingSize, bool allowExceptions=false)AbstractByteBuffervirtual - setNumValue(size_t fieldId, size_t subField, uint64_t val)ExeElementWrappervirtual - setNumValue(size_t fieldId, uint64_t val)ExeElementWrapperinline - AbstractByteBuffer::setNumValue(offset_t offset, bufsize_t size, uint64_t newVal)AbstractByteBuffer - setStringValue(offset_t rawOffset, QString newText)AbstractByteBuffer - setTextValue(char *textPtr, std::string newText, size_t fieldLimitLen=0)AbstractByteBuffer - substFragmentByFile(offset_t offset, bufsize_t contentSize, QFile &fIn)AbstractByteBuffer - thunkSize(Executable::exe_bits bits)ImportBaseDirWrapperstatic - thunksListImportBaseDirWrapperprotected - thunkToFuncName(offset_t thunk, bool shortName=true)ImportBaseDirWrapper - thunkToFunction(offset_t thunk)ImportBaseDirWrapper - thunkToLib(offset_t thunk)ImportBaseDirWrapperprotected - thunkToLibMapImportBaseDirWrapperprotected - thunkToLibName(offset_t thunk)ImportBaseDirWrapper - translateFieldContent(size_t fieldId)ExeElementWrapperinlinevirtual - wrap()ImportBaseDirWrappervirtual - ~AbstractByteBuffer()AbstractByteBufferinlinevirtual - ~ExeElementWrapper()ExeElementWrapperinlinevirtual - ~ExeNodeWrapper()ExeNodeWrapperinlinevirtual - ~PENodeWrapper()PENodeWrapperinlinevirtual + invalidEntriesImportBaseDirWrapperprotected + is32()DelayImpDirWrapperinlineprotected + is64()DelayImpDirWrapperprotected + isAreaEmpty(offset_t rawOffset, bufsize_t size)AbstractByteBuffer + isBit32()ExeElementWrapperinline + isBit64()ExeElementWrapperinline + isMyEntryType(ExeNodeWrapper *entry)ExeNodeWrapperprotectedvirtual + isResized()AbstractByteBufferinlinevirtual + isTruncated()AbstractByteBufferinlinevirtual + isValid()ImportBaseDirWrappervirtual + ExeElementWrapper::isValid(AbstractByteBuffer *buf)AbstractByteBufferstatic + loadNextEntry(size_t cntr)DelayImpDirWrapperprotectedvirtual + m_ExeExeElementWrapperprotected + m_PEPENodeWrapperprotected + operator[](size_t idx)AbstractByteBuffer + parentNodeExeNodeWrapperprotected + pasteBuffer(offset_t rawOffset, AbstractByteBuffer *buf, bool allowTrunc)AbstractByteBuffer + PENodeWrapper(PEFile *pe, PENodeWrapper *parent=NULL)PENodeWrapper + PENodeWrapper(PEFile *pe, PENodeWrapper *parent, size_t entryNumber)PENodeWrapper + peParentNodePENodeWrapperprotected + reloadMapping()ImportBaseDirWrappervirtual + resize(bufsize_t newSize)AbstractByteBufferinlinevirtual + setBufferedValue(BYTE *dstPtr, BYTE *srcPtr, bufsize_t srcSize, bufsize_t paddingSize, bool allowExceptions=false)AbstractByteBuffervirtual + setNumValue(size_t fieldId, size_t subField, uint64_t val)ExeElementWrappervirtual + setNumValue(size_t fieldId, uint64_t val)ExeElementWrapperinline + AbstractByteBuffer::setNumValue(offset_t offset, bufsize_t size, uint64_t newVal)AbstractByteBuffer + setStringValue(offset_t rawOffset, QString newText)AbstractByteBuffer + setTextValue(char *textPtr, std::string newText, size_t fieldLimitLen=0)AbstractByteBuffer + substFragmentByFile(offset_t offset, bufsize_t contentSize, QFile &fIn)AbstractByteBuffer + thunkSize(Executable::exe_bits bits)ImportBaseDirWrapperstatic + thunksListImportBaseDirWrapperprotected + thunkToFuncName(offset_t thunk, bool shortName=true)ImportBaseDirWrapper + thunkToFunction(offset_t thunk)ImportBaseDirWrapper + thunkToLib(offset_t thunk)ImportBaseDirWrapperprotected + thunkToLibMapImportBaseDirWrapperprotected + thunkToLibName(offset_t thunk)ImportBaseDirWrapper + translateFieldContent(size_t fieldId)ExeElementWrapperinlinevirtual + wrap()ImportBaseDirWrappervirtual + ~AbstractByteBuffer()AbstractByteBufferinlinevirtual + ~ExeElementWrapper()ExeElementWrapperinlinevirtual + ~ExeNodeWrapper()ExeNodeWrapperinlinevirtual + ~PENodeWrapper()PENodeWrapperinlinevirtual
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - +
diff --git a/class_delay_imp_entry_wrapper_ab00a805f0eabc9c2e39babebbd51eb83_cgraph.map b/class_delay_imp_entry_wrapper_ab00a805f0eabc9c2e39babebbd51eb83_cgraph.map index f78bfd04..d6560cdc 100644 --- a/class_delay_imp_entry_wrapper_ab00a805f0eabc9c2e39babebbd51eb83_cgraph.map +++ b/class_delay_imp_entry_wrapper_ab00a805f0eabc9c2e39babebbd51eb83_cgraph.map @@ -1,41 +1,40 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/class_delay_imp_entry_wrapper_ab00a805f0eabc9c2e39babebbd51eb83_cgraph.md5 b/class_delay_imp_entry_wrapper_ab00a805f0eabc9c2e39babebbd51eb83_cgraph.md5 index 9c0cfaec..459dbfc9 100644 --- a/class_delay_imp_entry_wrapper_ab00a805f0eabc9c2e39babebbd51eb83_cgraph.md5 +++ b/class_delay_imp_entry_wrapper_ab00a805f0eabc9c2e39babebbd51eb83_cgraph.md5 @@ -1 +1 @@ -fc42bd9ae878b4fa5352dceda464ba12 \ No newline at end of file +b72858c778eb46277d1630f96dccebfe \ No newline at end of file diff --git a/class_delay_imp_entry_wrapper_ab00a805f0eabc9c2e39babebbd51eb83_cgraph.png b/class_delay_imp_entry_wrapper_ab00a805f0eabc9c2e39babebbd51eb83_cgraph.png index 6472729b..06f4300d 100644 Binary files a/class_delay_imp_entry_wrapper_ab00a805f0eabc9c2e39babebbd51eb83_cgraph.png and b/class_delay_imp_entry_wrapper_ab00a805f0eabc9c2e39babebbd51eb83_cgraph.png differ diff --git a/class_delay_imp_func_wrapper-members.html b/class_delay_imp_func_wrapper-members.html index 298d6150..1fac78bd 100644 --- a/class_delay_imp_func_wrapper-members.html +++ b/class_delay_imp_func_wrapper-members.html @@ -159,7 +159,7 @@ $(function() { isMyEntryType(ExeNodeWrapper *entry)ExeNodeWrapperprotectedvirtual isResized()AbstractByteBufferinlinevirtual isTruncated()AbstractByteBufferinlinevirtual - isValid()ExeNodeWrapperinlinevirtual + isValid()ImportBaseFuncWrappervirtual ExeElementWrapper::isValid(AbstractByteBuffer *buf)AbstractByteBufferstatic loadNextEntry(size_t entryNum)ExeNodeWrapperinlineprotectedvirtual m_ExeExeElementWrapperprotected diff --git a/class_delay_imp_func_wrapper.html b/class_delay_imp_func_wrapper.html index 2d3e3ba8..c03b4659 100644 --- a/class_delay_imp_func_wrapper.html +++ b/class_delay_imp_func_wrapper.html @@ -189,6 +189,8 @@ Public Member Functions   QString getLibName ()   +virtual bool isValid () +  bufsize_t getAddrSize ()   bufsize_t getThunkValSize () @@ -239,8 +241,6 @@ Public Member Functions   virtual bufsize_t geEntrySize ()   -virtual bool isValid () -  - Public Member Functions inherited from ExeElementWrapper  ExeElementWrapper (Executable *exe)   diff --git a/class_exe_node_wrapper.html b/class_exe_node_wrapper.html index 49d1f3c3..1f5ad802 100644 --- a/class_exe_node_wrapper.html +++ b/class_exe_node_wrapper.html @@ -1351,7 +1351,7 @@ Here is the call graph for this function:
-

Reimplemented in ImportBaseEntryWrapper.

+

Reimplemented in ImportBaseDirWrapper, ImportBaseEntryWrapper, and ImportBaseFuncWrapper.

Definition at line 40 of file ExeNodeWrapper.h.

diff --git a/class_import_base_dir_wrapper-members.html b/class_import_base_dir_wrapper-members.html index 88e19c12..7090528f 100644 --- a/class_import_base_dir_wrapper-members.html +++ b/class_import_base_dir_wrapper-members.html @@ -151,45 +151,46 @@ $(function() { ImportBaseEntryWrapperImportBaseDirWrapperfriend importsCountImportBaseDirWrapperprotected intersectsBlock(offset_t rawOffset, bufsize_t size)AbstractByteBuffer - isAreaEmpty(offset_t rawOffset, bufsize_t size)AbstractByteBuffer - isBit32()ExeElementWrapperinline - isBit64()ExeElementWrapperinline - isMyEntryType(ExeNodeWrapper *entry)ExeNodeWrapperprotectedvirtual - isResized()AbstractByteBufferinlinevirtual - isTruncated()AbstractByteBufferinlinevirtual - isValid()ExeNodeWrapperinlinevirtual - ExeElementWrapper::isValid(AbstractByteBuffer *buf)AbstractByteBufferstatic - loadNextEntry(size_t entryNum)ExeNodeWrapperinlineprotectedvirtual - m_ExeExeElementWrapperprotected - m_PEPENodeWrapperprotected - operator[](size_t idx)AbstractByteBuffer - parentNodeExeNodeWrapperprotected - pasteBuffer(offset_t rawOffset, AbstractByteBuffer *buf, bool allowTrunc)AbstractByteBuffer - PENodeWrapper(PEFile *pe, PENodeWrapper *parent=NULL)PENodeWrapper - PENodeWrapper(PEFile *pe, PENodeWrapper *parent, size_t entryNumber)PENodeWrapper - peParentNodePENodeWrapperprotected - reloadMapping()ImportBaseDirWrappervirtual - resize(bufsize_t newSize)AbstractByteBufferinlinevirtual - setBufferedValue(BYTE *dstPtr, BYTE *srcPtr, bufsize_t srcSize, bufsize_t paddingSize, bool allowExceptions=false)AbstractByteBuffervirtual - setNumValue(size_t fieldId, size_t subField, uint64_t val)ExeElementWrappervirtual - setNumValue(size_t fieldId, uint64_t val)ExeElementWrapperinline - AbstractByteBuffer::setNumValue(offset_t offset, bufsize_t size, uint64_t newVal)AbstractByteBuffer - setStringValue(offset_t rawOffset, QString newText)AbstractByteBuffer - setTextValue(char *textPtr, std::string newText, size_t fieldLimitLen=0)AbstractByteBuffer - substFragmentByFile(offset_t offset, bufsize_t contentSize, QFile &fIn)AbstractByteBuffer - thunkSize(Executable::exe_bits bits)ImportBaseDirWrapperstatic - thunksListImportBaseDirWrapperprotected - thunkToFuncName(offset_t thunk, bool shortName=true)ImportBaseDirWrapper - thunkToFunction(offset_t thunk)ImportBaseDirWrapper - thunkToLib(offset_t thunk)ImportBaseDirWrapperprotected - thunkToLibMapImportBaseDirWrapperprotected - thunkToLibName(offset_t thunk)ImportBaseDirWrapper - translateFieldContent(size_t fieldId)ExeElementWrapperinlinevirtual - wrap()ImportBaseDirWrappervirtual - ~AbstractByteBuffer()AbstractByteBufferinlinevirtual - ~ExeElementWrapper()ExeElementWrapperinlinevirtual - ~ExeNodeWrapper()ExeNodeWrapperinlinevirtual - ~PENodeWrapper()PENodeWrapperinlinevirtual + invalidEntriesImportBaseDirWrapperprotected + isAreaEmpty(offset_t rawOffset, bufsize_t size)AbstractByteBuffer + isBit32()ExeElementWrapperinline + isBit64()ExeElementWrapperinline + isMyEntryType(ExeNodeWrapper *entry)ExeNodeWrapperprotectedvirtual + isResized()AbstractByteBufferinlinevirtual + isTruncated()AbstractByteBufferinlinevirtual + isValid()ImportBaseDirWrappervirtual + ExeElementWrapper::isValid(AbstractByteBuffer *buf)AbstractByteBufferstatic + loadNextEntry(size_t entryNum)ExeNodeWrapperinlineprotectedvirtual + m_ExeExeElementWrapperprotected + m_PEPENodeWrapperprotected + operator[](size_t idx)AbstractByteBuffer + parentNodeExeNodeWrapperprotected + pasteBuffer(offset_t rawOffset, AbstractByteBuffer *buf, bool allowTrunc)AbstractByteBuffer + PENodeWrapper(PEFile *pe, PENodeWrapper *parent=NULL)PENodeWrapper + PENodeWrapper(PEFile *pe, PENodeWrapper *parent, size_t entryNumber)PENodeWrapper + peParentNodePENodeWrapperprotected + reloadMapping()ImportBaseDirWrappervirtual + resize(bufsize_t newSize)AbstractByteBufferinlinevirtual + setBufferedValue(BYTE *dstPtr, BYTE *srcPtr, bufsize_t srcSize, bufsize_t paddingSize, bool allowExceptions=false)AbstractByteBuffervirtual + setNumValue(size_t fieldId, size_t subField, uint64_t val)ExeElementWrappervirtual + setNumValue(size_t fieldId, uint64_t val)ExeElementWrapperinline + AbstractByteBuffer::setNumValue(offset_t offset, bufsize_t size, uint64_t newVal)AbstractByteBuffer + setStringValue(offset_t rawOffset, QString newText)AbstractByteBuffer + setTextValue(char *textPtr, std::string newText, size_t fieldLimitLen=0)AbstractByteBuffer + substFragmentByFile(offset_t offset, bufsize_t contentSize, QFile &fIn)AbstractByteBuffer + thunkSize(Executable::exe_bits bits)ImportBaseDirWrapperstatic + thunksListImportBaseDirWrapperprotected + thunkToFuncName(offset_t thunk, bool shortName=true)ImportBaseDirWrapper + thunkToFunction(offset_t thunk)ImportBaseDirWrapper + thunkToLib(offset_t thunk)ImportBaseDirWrapperprotected + thunkToLibMapImportBaseDirWrapperprotected + thunkToLibName(offset_t thunk)ImportBaseDirWrapper + translateFieldContent(size_t fieldId)ExeElementWrapperinlinevirtual + wrap()ImportBaseDirWrappervirtual + ~AbstractByteBuffer()AbstractByteBufferinlinevirtual + ~ExeElementWrapper()ExeElementWrapperinlinevirtual + ~ExeNodeWrapper()ExeNodeWrapperinlinevirtual + ~PENodeWrapper()PENodeWrapperinlinevirtual
Public Member Functions virtual bool wrap ()   +virtual bool isValid () +  virtual void clearMapping ()   virtual void reloadMapping () @@ -218,8 +220,6 @@ Public Member Functions   virtual bufsize_t geEntrySize ()   -virtual bool isValid () -  - Public Member Functions inherited from ExeElementWrapper  ExeElementWrapper (Executable *exe)   @@ -365,6 +365,8 @@ Protected Attributes   size_t importsCount   +size_t invalidEntries- Protected Attributes inherited from DataDirEntryWrapper int entryType   @@ -420,7 +422,7 @@ Friends
-

Definition at line 43 of file ImportBaseDirWrapper.h.

+

Definition at line 45 of file ImportBaseDirWrapper.h.

@@ -520,7 +522,7 @@ Here is the call graph for this function:

Implements ExeNodeWrapper.

-

Definition at line 27 of file ImportBaseDirWrapper.h.

+

Definition at line 29 of file ImportBaseDirWrapper.h.

Here is the call graph for this function:
@@ -562,7 +564,7 @@ Here is the call graph for this function:
-

Definition at line 26 of file ImportBaseDirWrapper.h.

+

Definition at line 28 of file ImportBaseDirWrapper.h.

Here is the call graph for this function:
@@ -611,7 +613,7 @@ Here is the call graph for this function:

Implements ExeElementWrapper.

-

Definition at line 25 of file ImportBaseDirWrapper.h.

+

Definition at line 27 of file ImportBaseDirWrapper.h.

Here is the call graph for this function:
@@ -656,7 +658,7 @@ Here is the call graph for this function:

Implements ExeElementWrapper.

-

Definition at line 23 of file ImportBaseDirWrapper.h.

+

Definition at line 25 of file ImportBaseDirWrapper.h.

@@ -689,7 +691,7 @@ Here is the call graph for this function:

Reimplemented from ExeElementWrapper.

-

Definition at line 28 of file ImportBaseDirWrapper.h.

+

Definition at line 30 of file ImportBaseDirWrapper.h.

Here is the call graph for this function:
@@ -732,7 +734,7 @@ Here is the call graph for this function:
-

Definition at line 33 of file ImportBaseDirWrapper.h.

+

Definition at line 35 of file ImportBaseDirWrapper.h.

@@ -759,7 +761,7 @@ Here is the call graph for this function:
-

Definition at line 35 of file ImportBaseDirWrapper.h.

+

Definition at line 37 of file ImportBaseDirWrapper.h.

Here is the call graph for this function:
@@ -771,6 +773,47 @@ Here is the call graph for this function:
+ + + +

◆ isValid()

+ +
+
+ + + + + +
+ + + + + + + +
bool ImportBaseDirWrapper::isValid ()
+
+virtual
+
+ +

Reimplemented from ExeNodeWrapper.

+ +

Definition at line 149 of file ImportBaseDirWrapper.cpp.

+
+Here is the call graph for this function:
+
+
+ + + + + + + +
+
@@ -1087,7 +1130,7 @@ Here is the call graph for this function:
-

Definition at line 56 of file ImportBaseDirWrapper.h.

+

Definition at line 62 of file ImportBaseDirWrapper.h.

@@ -1112,7 +1155,31 @@ Here is the call graph for this function:
-

Definition at line 54 of file ImportBaseDirWrapper.h.

+

Definition at line 59 of file ImportBaseDirWrapper.h.

+ +
+ + +

◆ invalidEntries

+ +
+
+ + + + + +
+ + + + +
size_t ImportBaseDirWrapper::invalidEntries
+
+protected
+
+ +

Definition at line 60 of file ImportBaseDirWrapper.h.

@@ -1136,7 +1203,7 @@ Here is the call graph for this function:
-

Definition at line 52 of file ImportBaseDirWrapper.h.

+

Definition at line 57 of file ImportBaseDirWrapper.h.

@@ -1160,7 +1227,7 @@ Here is the call graph for this function:
-

Definition at line 51 of file ImportBaseDirWrapper.h.

+

Definition at line 56 of file ImportBaseDirWrapper.h.

diff --git a/class_import_base_dir_wrapper_a8b7519ff4d87d3d8261010067107bd31_cgraph.map b/class_import_base_dir_wrapper_a8b7519ff4d87d3d8261010067107bd31_cgraph.map new file mode 100644 index 00000000..72260fe3 --- /dev/null +++ b/class_import_base_dir_wrapper_a8b7519ff4d87d3d8261010067107bd31_cgraph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/class_import_base_dir_wrapper_a8b7519ff4d87d3d8261010067107bd31_cgraph.md5 b/class_import_base_dir_wrapper_a8b7519ff4d87d3d8261010067107bd31_cgraph.md5 new file mode 100644 index 00000000..359a85f7 --- /dev/null +++ b/class_import_base_dir_wrapper_a8b7519ff4d87d3d8261010067107bd31_cgraph.md5 @@ -0,0 +1 @@ +52b0ad1e8be54db8d0a0c6f6fb4d37a1 \ No newline at end of file diff --git a/class_import_base_dir_wrapper_a8b7519ff4d87d3d8261010067107bd31_cgraph.png b/class_import_base_dir_wrapper_a8b7519ff4d87d3d8261010067107bd31_cgraph.png new file mode 100644 index 00000000..194de20c Binary files /dev/null and b/class_import_base_dir_wrapper_a8b7519ff4d87d3d8261010067107bd31_cgraph.png differ diff --git a/class_import_base_entry_wrapper-members.html b/class_import_base_entry_wrapper-members.html index 287f0e58..551e4f71 100644 --- a/class_import_base_entry_wrapper-members.html +++ b/class_import_base_entry_wrapper-members.html @@ -142,40 +142,41 @@ $(function() { ImportBaseDirWrapperImportBaseEntryWrapperfriend ImportBaseEntryWrapper(PEFile *pe, ImportBaseDirWrapper *importsDir, size_t entryNumber)ImportBaseEntryWrapperinlineprotected intersectsBlock(offset_t rawOffset, bufsize_t size)AbstractByteBuffer - isAreaEmpty(offset_t rawOffset, bufsize_t size)AbstractByteBuffer - isBit32()ExeElementWrapperinline - isBit64()ExeElementWrapperinline - isMyEntryType(ExeNodeWrapper *entry)ExeNodeWrapperprotectedvirtual - isResized()AbstractByteBufferinlinevirtual - isTruncated()AbstractByteBufferinlinevirtual - isValid()ImportBaseEntryWrappervirtual - ExeElementWrapper::isValid(AbstractByteBuffer *buf)AbstractByteBufferstatic - loadNextEntry(size_t entryNum)ExeNodeWrapperinlineprotectedvirtual - m_ExeExeElementWrapperprotected - m_PEPENodeWrapperprotected - NameLenLimitImportBaseEntryWrapperstatic - operator[](size_t idx)AbstractByteBuffer - parentNodeExeNodeWrapperprotected - pasteBuffer(offset_t rawOffset, AbstractByteBuffer *buf, bool allowTrunc)AbstractByteBuffer - PENodeWrapper(PEFile *pe, PENodeWrapper *parent=NULL)PENodeWrapper - PENodeWrapper(PEFile *pe, PENodeWrapper *parent, size_t entryNumber)PENodeWrapper - peParentNodePENodeWrapperprotected - reloadMapping()ExeNodeWrapperinlinevirtual - resize(bufsize_t newSize)AbstractByteBufferinlinevirtual - setBufferedValue(BYTE *dstPtr, BYTE *srcPtr, bufsize_t srcSize, bufsize_t paddingSize, bool allowExceptions=false)AbstractByteBuffervirtual - setNumValue(size_t fieldId, size_t subField, uint64_t val)ExeElementWrappervirtual - setNumValue(size_t fieldId, uint64_t val)ExeElementWrapperinline - AbstractByteBuffer::setNumValue(offset_t offset, bufsize_t size, uint64_t newVal)AbstractByteBuffer - setStringValue(offset_t rawOffset, QString newText)AbstractByteBuffer - setTextValue(char *textPtr, std::string newText, size_t fieldLimitLen=0)AbstractByteBuffer - substFragmentByFile(offset_t offset, bufsize_t contentSize, QFile &fIn)AbstractByteBuffer - thunkToFuncMapImportBaseEntryWrapperprotected - translateFieldContent(size_t fieldId)ExeElementWrapperinlinevirtual - wrap()ImportBaseEntryWrappervirtual - ~AbstractByteBuffer()AbstractByteBufferinlinevirtual - ~ExeElementWrapper()ExeElementWrapperinlinevirtual - ~ExeNodeWrapper()ExeNodeWrapperinlinevirtual - ~PENodeWrapper()PENodeWrapperinlinevirtual + invalidEntriesImportBaseEntryWrapperprotected + isAreaEmpty(offset_t rawOffset, bufsize_t size)AbstractByteBuffer + isBit32()ExeElementWrapperinline + isBit64()ExeElementWrapperinline + isMyEntryType(ExeNodeWrapper *entry)ExeNodeWrapperprotectedvirtual + isResized()AbstractByteBufferinlinevirtual + isTruncated()AbstractByteBufferinlinevirtual + isValid()ImportBaseEntryWrappervirtual + ExeElementWrapper::isValid(AbstractByteBuffer *buf)AbstractByteBufferstatic + loadNextEntry(size_t entryNum)ExeNodeWrapperinlineprotectedvirtual + m_ExeExeElementWrapperprotected + m_PEPENodeWrapperprotected + NameLenLimitImportBaseEntryWrapperstatic + operator[](size_t idx)AbstractByteBuffer + parentNodeExeNodeWrapperprotected + pasteBuffer(offset_t rawOffset, AbstractByteBuffer *buf, bool allowTrunc)AbstractByteBuffer + PENodeWrapper(PEFile *pe, PENodeWrapper *parent=NULL)PENodeWrapper + PENodeWrapper(PEFile *pe, PENodeWrapper *parent, size_t entryNumber)PENodeWrapper + peParentNodePENodeWrapperprotected + reloadMapping()ExeNodeWrapperinlinevirtual + resize(bufsize_t newSize)AbstractByteBufferinlinevirtual + setBufferedValue(BYTE *dstPtr, BYTE *srcPtr, bufsize_t srcSize, bufsize_t paddingSize, bool allowExceptions=false)AbstractByteBuffervirtual + setNumValue(size_t fieldId, size_t subField, uint64_t val)ExeElementWrappervirtual + setNumValue(size_t fieldId, uint64_t val)ExeElementWrapperinline + AbstractByteBuffer::setNumValue(offset_t offset, bufsize_t size, uint64_t newVal)AbstractByteBuffer + setStringValue(offset_t rawOffset, QString newText)AbstractByteBuffer + setTextValue(char *textPtr, std::string newText, size_t fieldLimitLen=0)AbstractByteBuffer + substFragmentByFile(offset_t offset, bufsize_t contentSize, QFile &fIn)AbstractByteBuffer + thunkToFuncMapImportBaseEntryWrapperprotected + translateFieldContent(size_t fieldId)ExeElementWrapperinlinevirtual + wrap()ImportBaseEntryWrappervirtual + ~AbstractByteBuffer()AbstractByteBufferinlinevirtual + ~ExeElementWrapper()ExeElementWrapperinlinevirtual + ~ExeNodeWrapper()ExeNodeWrapperinlinevirtual + ~PENodeWrapper()PENodeWrapperinlinevirtual