From 71cd42e9e04f97e0627ee17c7c1eb9052dcc29b3 Mon Sep 17 00:00:00 2001 From: hasherezade Date: Wed, 15 Mar 2023 23:02:50 +0000 Subject: [PATCH] deploy: 1c9336d249324fbbe5312513d0a2ffbd44e18e7c --- _bound_imp_dir_wrapper_8cpp_source.html | 4 +- _bound_imp_dir_wrapper_8h_source.html | 4 +- _debug_dir_wrapper_8cpp_source.html | 2 +- _debug_dir_wrapper_8h_source.html | 4 +- _delay_imp_dir_wrapper_8cpp_source.html | 6 +- _delay_imp_dir_wrapper_8h_source.html | 4 +- _exception_dir_wrapper_8cpp_source.html | 4 +- _exception_dir_wrapper_8h_source.html | 2 +- _exe_node_wrapper_8cpp_source.html | 6 +- _exe_node_wrapper_8h_source.html | 47 ++--- _export_dir_wrapper_8cpp_source.html | 4 +- _import_base_dir_wrapper_8cpp_source.html | 183 ++++++++++-------- _import_base_dir_wrapper_8h_source.html | 10 +- _import_dir_wrapper_8cpp_source.html | 6 +- _import_dir_wrapper_8h_source.html | 4 +- _ld_config_dir_wrapper_8cpp_source.html | 4 +- _reloc_dir_wrapper_8cpp_source.html | 4 +- _reloc_dir_wrapper_8h_source.html | 2 +- _resource_dir_wrapper_8cpp_source.html | 4 +- _resource_strings_wrapper_8cpp_source.html | 2 +- _resource_strings_wrapper_8h_source.html | 2 +- _sect_hdrs_wrapper_8cpp_source.html | 2 +- _sect_hdrs_wrapper_8h_source.html | 4 +- _tls_dir_wrapper_8cpp_source.html | 4 +- class_bound_entry_wrapper-members.html | 49 ++--- class_bound_entry_wrapper.html | 2 + class_bound_imp_dir_wrapper-members.html | 51 ++--- class_bound_imp_dir_wrapper.html | 2 + class_clr_dir_wrapper-members.html | 81 ++++---- class_clr_dir_wrapper.html | 2 + class_data_dir_entry_wrapper-members.html | 53 ++--- class_data_dir_entry_wrapper.html | 2 + ...s_debug_dir_c_v_entry_wrapper-members.html | 43 ++-- class_debug_dir_c_v_entry_wrapper.html | 2 + class_debug_dir_entry_wrapper-members.html | 69 +++---- class_debug_dir_entry_wrapper.html | 2 + class_debug_dir_wrapper-members.html | 51 ++--- class_debug_dir_wrapper.html | 2 + class_delay_imp_dir_wrapper-members.html | 65 ++++--- class_delay_imp_dir_wrapper.html | 9 +- ...c1394a6f1c2a8ee7b3e540249661a6d_cgraph.map | 7 +- ...c1394a6f1c2a8ee7b3e540249661a6d_cgraph.md5 | 2 +- ...c1394a6f1c2a8ee7b3e540249661a6d_cgraph.png | Bin 28925 -> 32434 bytes class_delay_imp_entry_wrapper-members.html | 4 +- class_delay_imp_entry_wrapper.html | 31 +-- ...00a805f0eabc9c2e39babebbd51eb83_cgraph.map | 27 +-- ...00a805f0eabc9c2e39babebbd51eb83_cgraph.md5 | 2 +- ...00a805f0eabc9c2e39babebbd51eb83_cgraph.png | Bin 62663 -> 68881 bytes class_delay_imp_func_wrapper-members.html | 57 +++--- class_delay_imp_func_wrapper.html | 2 + class_exception_dir_wrapper-members.html | 51 ++--- class_exception_dir_wrapper.html | 2 + class_exception_entry_wrapper-members.html | 45 ++--- class_exception_entry_wrapper.html | 2 + class_exe_node_wrapper-members.html | 41 ++-- class_exe_node_wrapper.html | 41 +++- class_export_dir_wrapper-members.html | 69 +++---- class_export_dir_wrapper.html | 2 + class_export_entry_wrapper-members.html | 45 ++--- class_export_entry_wrapper.html | 2 + class_import_base_dir_wrapper-members.html | 65 ++++--- class_import_base_dir_wrapper.html | 7 +- ...d69d5e98e7fd4bd1761730621ce1c9a_cgraph.map | 5 +- ...d69d5e98e7fd4bd1761730621ce1c9a_cgraph.md5 | 2 +- ...d69d5e98e7fd4bd1761730621ce1c9a_cgraph.png | Bin 24452 -> 28083 bytes class_import_base_entry_wrapper-members.html | 4 +- class_import_base_entry_wrapper.html | 43 ++-- ...176da686bdcec05c9a4acd23c2cdf13_cgraph.map | 25 +-- ...176da686bdcec05c9a4acd23c2cdf13_cgraph.md5 | 2 +- ...176da686bdcec05c9a4acd23c2cdf13_cgraph.png | Bin 57393 -> 63076 bytes class_import_base_func_wrapper-members.html | 51 ++--- class_import_base_func_wrapper.html | 6 +- class_import_dir_wrapper-members.html | 65 ++++--- class_import_dir_wrapper.html | 9 +- ...a0f2284f3aaef1d525360b44d91d3e8_cgraph.map | 7 +- ...a0f2284f3aaef1d525360b44d91d3e8_cgraph.md5 | 2 +- ...a0f2284f3aaef1d525360b44d91d3e8_cgraph.png | Bin 28584 -> 32103 bytes class_import_entry_wrapper-members.html | 4 +- class_import_entry_wrapper.html | 31 +-- ...7f0a126fa7693446cfdacc723a4e0a4_cgraph.map | 27 +-- ...7f0a126fa7693446cfdacc723a4e0a4_cgraph.md5 | 2 +- ...7f0a126fa7693446cfdacc723a4e0a4_cgraph.png | Bin 62276 -> 68642 bytes class_imported_func_wrapper-members.html | 57 +++--- class_imported_func_wrapper.html | 2 + class_ld_config_dir_wrapper-members.html | 95 ++++----- class_ld_config_dir_wrapper.html | 2 + class_ld_config_entry_wrapper-members.html | 47 ++--- class_ld_config_entry_wrapper.html | 2 + class_p_e_node_wrapper-members.html | 53 ++--- class_p_e_node_wrapper.html | 2 + class_reloc_block_wrapper-members.html | 53 ++--- class_reloc_block_wrapper.html | 2 + class_reloc_dir_wrapper-members.html | 57 +++--- class_reloc_dir_wrapper.html | 2 + class_reloc_entry_wrapper-members.html | 49 ++--- class_reloc_entry_wrapper.html | 2 + class_reource_h_t_m_l_wrapper-members.html | 55 +++--- class_reource_h_t_m_l_wrapper.html | 2 + class_reource_manifest_wrapper-members.html | 55 +++--- class_reource_manifest_wrapper.html | 2 + class_res_string-members.html | 57 +++--- class_res_string.html | 2 + class_resource_content_wrapper-members.html | 53 ++--- class_resource_content_wrapper.html | 2 + class_resource_dir_wrapper-members.html | 67 +++---- class_resource_dir_wrapper.html | 2 + class_resource_entry_wrapper-members.html | 63 +++--- class_resource_entry_wrapper.html | 2 + class_resource_leaf_wrapper-members.html | 57 +++--- class_resource_leaf_wrapper.html | 2 + class_resource_strings_wrapper-members.html | 67 +++---- class_resource_strings_wrapper.html | 2 + class_resource_version_wrapper-members.html | 83 ++++---- class_resource_version_wrapper.html | 2 + class_sect_hdrs_wrapper-members.html | 63 +++--- class_sect_hdrs_wrapper.html | 2 + class_section_hdr_wrapper-members.html | 95 ++++----- class_section_hdr_wrapper.html | 2 + class_security_dir_wrapper-members.html | 65 ++++--- class_security_dir_wrapper.html | 2 + class_tls_dir_wrapper-members.html | 61 +++--- class_tls_dir_wrapper.html | 2 + class_tls_entry_wrapper-members.html | 45 ++--- class_tls_entry_wrapper.html | 2 + functions_func_i.html | 2 +- functions_i.html | 2 +- search/all_9.js | 2 +- search/functions_9.js | 2 +- 128 files changed, 1569 insertions(+), 1370 deletions(-) diff --git a/_bound_imp_dir_wrapper_8cpp_source.html b/_bound_imp_dir_wrapper_8cpp_source.html index d66ace77..4d780823 100644 --- a/_bound_imp_dir_wrapper_8cpp_source.html +++ b/_bound_imp_dir_wrapper_8cpp_source.html @@ -262,8 +262,8 @@ $(function() {
virtual offset_t getOffset()
Executable * m_Exe
virtual uint64_t getNumValue(size_t fieldId, size_t subField, bool *isOk)
-
std::vector< ExeNodeWrapper * > entries
-
size_t entryNum
+
std::vector< ExeNodeWrapper * > entries
+
size_t entryNum
virtual void clear()
virtual ExeNodeWrapper * getParentNode()
@ RVA
Definition: Executable.h:38
diff --git a/_bound_imp_dir_wrapper_8h_source.html b/_bound_imp_dir_wrapper_8h_source.html index 24680636..b5bcd55b 100644 --- a/_bound_imp_dir_wrapper_8h_source.html +++ b/_bound_imp_dir_wrapper_8h_source.html @@ -173,8 +173,8 @@ $(function() {
Definition: ExeNodeWrapper.h:9
virtual void * getSubfieldPtr(size_t fieldId, size_t subField)
virtual QString getSubfieldName(size_t fieldId, size_t subField)
-
std::vector< ExeNodeWrapper * > entries
-
size_t entryNum
+
std::vector< ExeNodeWrapper * > entries
+
size_t entryNum
virtual bufsize_t getSubfieldSize(size_t fieldId, size_t subField)
Definition: Executable.h:26
Definition: PEFile.h:41
diff --git a/_debug_dir_wrapper_8cpp_source.html b/_debug_dir_wrapper_8cpp_source.html index f2e95333..f6435d0c 100644 --- a/_debug_dir_wrapper_8cpp_source.html +++ b/_debug_dir_wrapper_8cpp_source.html @@ -447,7 +447,7 @@ $(function() {
virtual bufsize_t getSize()
Executable * m_Exe
virtual uint64_t getNumValue(size_t fieldId, size_t subField, bool *isOk)
-
std::vector< ExeNodeWrapper * > entries
+
std::vector< ExeNodeWrapper * > entries
addr_type
Definition: Executable.h:35
@ NOT_ADDR
Definition: Executable.h:36
@ RVA
Definition: Executable.h:38
diff --git a/_debug_dir_wrapper_8h_source.html b/_debug_dir_wrapper_8h_source.html index 93e6a836..48f78df0 100644 --- a/_debug_dir_wrapper_8h_source.html +++ b/_debug_dir_wrapper_8h_source.html @@ -324,8 +324,8 @@ $(function() {
Definition: ExeNodeWrapper.h:9
virtual void * getSubfieldPtr(size_t fieldId, size_t subField)
virtual QString getSubfieldName(size_t fieldId, size_t subField)
-
std::vector< ExeNodeWrapper * > entries
-
size_t entryNum
+
std::vector< ExeNodeWrapper * > entries
+
size_t entryNum
virtual void clear()
virtual bufsize_t getSubfieldSize(size_t fieldId, size_t subField)
Definition: Executable.h:26
diff --git a/_delay_imp_dir_wrapper_8cpp_source.html b/_delay_imp_dir_wrapper_8cpp_source.html index 95b12307..6da4114c 100644 --- a/_delay_imp_dir_wrapper_8cpp_source.html +++ b/_delay_imp_dir_wrapper_8cpp_source.html @@ -473,10 +473,10 @@ $(function() {
virtual offset_t getOffset()
Executable * m_Exe
virtual uint64_t getNumValue(size_t fieldId, size_t subField, bool *isOk)
-
std::vector< ExeNodeWrapper * > entries
-
ExeNodeWrapper * parentNode
+
std::vector< ExeNodeWrapper * > entries
+
ExeNodeWrapper * parentNode
virtual size_t getEntriesCount()
-
size_t entryNum
+
size_t entryNum
addr_type
Definition: Executable.h:35
@ NOT_ADDR
Definition: Executable.h:36
@ RVA
Definition: Executable.h:38
diff --git a/_delay_imp_dir_wrapper_8h_source.html b/_delay_imp_dir_wrapper_8h_source.html index 06952dd2..02bc92f7 100644 --- a/_delay_imp_dir_wrapper_8h_source.html +++ b/_delay_imp_dir_wrapper_8h_source.html @@ -248,14 +248,14 @@ $(function() {
virtual bufsize_t getSize()
offset_t callVia()
Executable * m_Exe
-
size_t entryNum
+
size_t entryNum
addr_type
Definition: Executable.h:35
@ BITS_64
Definition: Executable.h:32
virtual exe_bits getBitMode()
Definition: Executable.h:49
virtual bool wrap()
-
bool wrap()
+
bool wrap()
Definition: PEFile.h:41
diff --git a/_exception_dir_wrapper_8cpp_source.html b/_exception_dir_wrapper_8cpp_source.html index a8aabfaa..60deab06 100644 --- a/_exception_dir_wrapper_8cpp_source.html +++ b/_exception_dir_wrapper_8cpp_source.html @@ -207,8 +207,8 @@ $(function() {
virtual bufsize_t getSize()
virtual offset_t getOffset()
Executable * m_Exe
-
std::vector< ExeNodeWrapper * > entries
-
size_t entryNum
+
std::vector< ExeNodeWrapper * > entries
+
size_t entryNum
virtual void clear()
addr_type
Definition: Executable.h:35
@ NOT_ADDR
Definition: Executable.h:36
diff --git a/_exception_dir_wrapper_8h_source.html b/_exception_dir_wrapper_8h_source.html index ded6cffa..ea6c20af 100644 --- a/_exception_dir_wrapper_8h_source.html +++ b/_exception_dir_wrapper_8h_source.html @@ -184,7 +184,7 @@ $(function() {
Definition: ExeNodeWrapper.h:9
virtual void * getSubfieldPtr(size_t fieldId, size_t subField)
virtual QString getSubfieldName(size_t fieldId, size_t subField)
-
std::vector< ExeNodeWrapper * > entries
+
std::vector< ExeNodeWrapper * > entries
Definition: Executable.h:26
addr_type
Definition: Executable.h:35
Definition: PEFile.h:41
diff --git a/_exe_node_wrapper_8cpp_source.html b/_exe_node_wrapper_8cpp_source.html index 45063764..38a0ab53 100644 --- a/_exe_node_wrapper_8cpp_source.html +++ b/_exe_node_wrapper_8cpp_source.html @@ -246,12 +246,12 @@ $(function() {
virtual void reloadMapping()
virtual ExeNodeWrapper * getEntryAt(size_t fieldId)
virtual bufsize_t geEntrySize()
-
std::vector< ExeNodeWrapper * > entries
-
virtual bool loadNextEntry(size_t entryNum)
+
std::vector< ExeNodeWrapper * > entries
+
virtual bool loadNextEntry(size_t entryNum)
virtual bool canAddEntry()
virtual offset_t getNextEntryOffset()
virtual size_t getEntriesCount()
-
size_t entryNum
+
size_t entryNum
virtual void clear()
virtual bufsize_t getSubfieldSize(size_t fieldId, size_t subField)
virtual ExeNodeWrapper * addEntry(ExeNodeWrapper *entry)
diff --git a/_exe_node_wrapper_8h_source.html b/_exe_node_wrapper_8h_source.html index 4f0370ba..56eacf2a 100644 --- a/_exe_node_wrapper_8h_source.html +++ b/_exe_node_wrapper_8h_source.html @@ -116,23 +116,25 @@ $(function() {
37 virtual offset_t getNextEntryOffset();
38 virtual bufsize_t geEntrySize();
39
-
40protected:
-
41 size_t getEntriesCount(std::vector<ExeNodeWrapper*> &_entries);
-
42 ExeNodeWrapper* getEntryAt(std::vector<ExeNodeWrapper*> &_entries, size_t fieldId);
-
43
-
44 virtual void clear();
-
45 virtual void addMapping(ExeNodeWrapper *entry) {}
-
46 virtual bool loadNextEntry(size_t entryNum) { return false; } //TODO!
-
47 virtual ExeNodeWrapper* addEntryAt(ExeNodeWrapper *entry, offset_t nextOffset);
-
48
-
49 virtual bool isMyEntryType(ExeNodeWrapper *entry); // is it an entry of appropriate type
-
50
-
51 ExeNodeWrapper* parentNode;
-
52 size_t entryNum;
-
53
-
54 std::vector<ExeNodeWrapper*> entries; // children
-
55};
-
56
+
40 virtual bool isValid() { return true; }
+
41
+
42protected:
+
43 size_t getEntriesCount(std::vector<ExeNodeWrapper*> &_entries);
+
44 ExeNodeWrapper* getEntryAt(std::vector<ExeNodeWrapper*> &_entries, size_t fieldId);
+
45
+
46 virtual void clear();
+
47 virtual void addMapping(ExeNodeWrapper *entry) {}
+
48 virtual bool loadNextEntry(size_t entryNum) { return false; } //TODO!
+
49 virtual ExeNodeWrapper* addEntryAt(ExeNodeWrapper *entry, offset_t nextOffset);
+
50
+
51 virtual bool isMyEntryType(ExeNodeWrapper *entry); // is it an entry of appropriate type
+
52
+
53 ExeNodeWrapper* parentNode;
+
54 size_t entryNum;
+
55
+
56 std::vector<ExeNodeWrapper*> entries; // children
+
57};
+
58
uint32_t bufsize_t
uint64_t offset_t
@@ -149,17 +151,18 @@ $(function() {
virtual bool wrap()
virtual void reloadMapping()
virtual ExeNodeWrapper * getEntryAt(size_t fieldId)
-
virtual void addMapping(ExeNodeWrapper *entry)
+
virtual void addMapping(ExeNodeWrapper *entry)
virtual bufsize_t geEntrySize()
-
std::vector< ExeNodeWrapper * > entries
+
std::vector< ExeNodeWrapper * > entries
virtual ~ExeNodeWrapper()
size_t getEntryId()
-
virtual bool loadNextEntry(size_t entryNum)
+
virtual bool loadNextEntry(size_t entryNum)
virtual bool canAddEntry()
virtual offset_t getNextEntryOffset()
-
ExeNodeWrapper * parentNode
+
ExeNodeWrapper * parentNode
+
virtual bool isValid()
virtual size_t getEntriesCount()
-
size_t entryNum
+
size_t entryNum
virtual size_t getSubFieldsCount()
virtual void clear()
virtual bufsize_t getSubfieldSize(size_t fieldId, size_t subField)
diff --git a/_export_dir_wrapper_8cpp_source.html b/_export_dir_wrapper_8cpp_source.html index a8f0212c..b14d6dad 100644 --- a/_export_dir_wrapper_8cpp_source.html +++ b/_export_dir_wrapper_8cpp_source.html @@ -417,8 +417,8 @@ $(function() {
offset_t getDirEntryAddress()
Executable * m_Exe
virtual uint64_t getNumValue(size_t fieldId, size_t subField, bool *isOk)
-
std::vector< ExeNodeWrapper * > entries
-
size_t entryNum
+
std::vector< ExeNodeWrapper * > entries
+
size_t entryNum
virtual void clear()
addr_type
Definition: Executable.h:35
@ NOT_ADDR
Definition: Executable.h:36
diff --git a/_import_base_dir_wrapper_8cpp_source.html b/_import_base_dir_wrapper_8cpp_source.html index 0f97da0b..0775182b 100644 --- a/_import_base_dir_wrapper_8cpp_source.html +++ b/_import_base_dir_wrapper_8cpp_source.html @@ -204,79 +204,103 @@ $(function() {
125 }
126
127 const size_t LIMIT = (-1);
-
128
+
128 const size_t INVALID_LIMIT = 100;
129 size_t cntr = 0;
-
130 for (cntr = 0; cntr < LIMIT; cntr++) {
-
131 if (loadNextEntry(cntr) == false) break;
-
132 }
-
133
-
134 this->importsCount = cntr;
-
135 return (oldCount != this->importsCount); //has count changed
-
136}
-
137
-
138//--------------------------------------------------------------------------------------------------------------
-
139
-
140bool ImportBaseEntryWrapper::isValid()
-
141{
-
142 char *libName = this->getLibraryName();
-
143 bool isValid = imports_util::isNameValid(m_Exe, libName);
-
144 return isValid;
-
145}
-
146
-
147bool ImportBaseEntryWrapper::wrap()
-
148{
-
149 clear();
-
150 thunkToFuncMap.clear();
-
151
-
152 const size_t LIMIT = (-1);
-
153 if (!isValid()) {
-
154 return false;
-
155 }
-
156 size_t cntr = 0;
-
157 if (this->getPtr() == NULL) {
-
158 return false;
-
159 }
-
160 for (cntr = 0; cntr < LIMIT; cntr++) {
-
161 if (loadNextEntry(cntr) == false) break;
-
162 }
-
163 //printf("Entries: %d\n", entries.size());
-
164 return true;
-
165}
-
166
-
167//--------------------------------------------------------------------------------------------------------------
-
168QString ImportBaseFuncWrapper::getShortName()
-
169{
-
170 QString functionName;
-
171 if (isByOrdinal()) {
-
172 uint64_t val = getOrdinal();
-
173 QString out;
-
174#if QT_VERSION >= 0x050000
-
175 out = QString::asprintf("<ord: %llX>", static_cast<unsigned long long>(val));
-
176#else
-
177 out.sprintf("<ord: %llX>", static_cast<unsigned long long>(val));
-
178#endif
-
179 functionName = out;
-
180 } else {
-
181 char *fName = this->getFunctionName();
-
182 if (!fName) return "";
-
183 functionName = fName;
-
184 }
-
185 return functionName;
-
186}
-
187
-
188QString ImportBaseFuncWrapper::getName()
-
189{
-
190 QString functionName = getShortName();
-
191 ImportBaseEntryWrapper *p = dynamic_cast<ImportBaseEntryWrapper*>(this->getParentNode());
-
192 if (!p) return functionName;
-
193
-
194 char *libName = p->getLibraryName();
-
195 if (!libName) return functionName;
-
196
-
197 functionName = "[" + QString(libName) + "]." + functionName;
-
198 return functionName;
-
199}
-
200
+
130 size_t invalidSeries = 0;
+
131 for (cntr = 0; cntr < LIMIT; cntr++) {
+
132 if (loadNextEntry(cntr) == false) break;
+
133 ExeNodeWrapper* entry = this->entries.at(cntr);
+
134 if (!entry) break;
+
135 if (entry->isValid()) {
+
136 invalidSeries = 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}
+
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}
+
156
+
157bool ImportBaseEntryWrapper::wrap()
+
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 {
+
183 invalidSeries++;
+
184 if (invalidSeries >= INVALID_LIMIT) break;
+
185 }
+
186 }
+
187 //printf("Entries: %d\n", entries.size());
+
188 return true;
+
189}
+
190
+
191//--------------------------------------------------------------------------------------------------------------
+
192QString ImportBaseFuncWrapper::getShortName()
+
193{
+
194 QString functionName;
+
195 if (isByOrdinal()) {
+
196 uint64_t val = getOrdinal();
+
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
+
203 functionName = out;
+
204 } else {
+
205 char *fName = this->getFunctionName();
+
206 if (!fName) return "";
+
207 functionName = fName;
+
208 }
+
209 return functionName;
+
210}
+
211
+
212QString ImportBaseFuncWrapper::getName()
+
213{
+
214 QString functionName = getShortName();
+
215 ImportBaseEntryWrapper *p = dynamic_cast<ImportBaseEntryWrapper*>(this->getParentNode());
+
216 if (!p) return functionName;
+
217
+
218 char *libName = p->getLibraryName();
+
219 if (!libName) return functionName;
+
220
+
221 functionName = "[" + QString(libName) + "]." + functionName;
+
222 return functionName;
+
223}
+
224
uint32_t bufsize_t
const offset_t INVALID_ADDR
uint64_t offset_t
@@ -288,11 +312,12 @@ $(function() {
virtual QString getName()=0
Definition: ExeNodeWrapper.h:9
virtual ExeNodeWrapper * getEntryAt(size_t fieldId)
-
std::vector< ExeNodeWrapper * > entries
+
std::vector< ExeNodeWrapper * > entries
size_t getEntryId()
-
virtual bool loadNextEntry(size_t entryNum)
+
virtual bool loadNextEntry(size_t entryNum)
+
virtual bool isValid()
virtual size_t getEntriesCount()
-
size_t entryNum
+
size_t entryNum
virtual void clear()
Definition: Executable.h:26
exe_bits
Definition: Executable.h:28
@@ -312,16 +337,16 @@ $(function() {
QString thunkToFuncName(offset_t thunk, bool shortName=true)
static bufsize_t NameLenLimit
-
bool wrap()
-
bool isValid()
+
bool wrap()
+
virtual bool isValid()
virtual char * getLibraryName()=0
std::map< offset_t, size_t > thunkToFuncMap
-
virtual QString getName()
+
virtual QString getName()
virtual uint64_t getOrdinal()=0
virtual char * getFunctionName()=0
virtual offset_t callVia()=0
-
QString getShortName()
+
QString getShortName()
virtual bool isByOrdinal()=0
virtual PENodeWrapper * getParentNode()
Definition: PENodeWrapper.h:33
diff --git a/_import_base_dir_wrapper_8h_source.html b/_import_base_dir_wrapper_8h_source.html index f2b826dc..8de0944f 100644 --- a/_import_base_dir_wrapper_8h_source.html +++ b/_import_base_dir_wrapper_8h_source.html @@ -143,7 +143,7 @@ $(function() {
64 virtual char* getLibraryName() = 0;
65 virtual size_t getSubFieldsCount() { return 1; }
66 bool wrap();
-
67 bool isValid();
+
67 virtual bool isValid();
68
69protected:
70 ImportBaseEntryWrapper(PEFile *pe, ImportBaseDirWrapper *importsDir, size_t entryNumber)
@@ -220,20 +220,20 @@ $(function() {
ImportBaseDirWrapper * impDir
virtual size_t getSubFieldsCount()
static bufsize_t NameLenLimit
-
bool wrap()
+
bool wrap()
void addMapping(ExeNodeWrapper *func)
-
bool isValid()
+
virtual bool isValid()
ImportBaseEntryWrapper(PEFile *pe, ImportBaseDirWrapper *importsDir, size_t entryNumber)
virtual char * getLibraryName()=0
std::map< offset_t, size_t > thunkToFuncMap
-
virtual QString getName()
+
virtual QString getName()
bufsize_t getThunkValSize()
virtual uint64_t getOrdinal()=0
bufsize_t getAddrSize()
virtual char * getFunctionName()=0
virtual offset_t callVia()=0
-
QString getShortName()
+
QString getShortName()
virtual bool isByOrdinal()=0
ImportBaseFuncWrapper(PEFile *pe, ImportBaseEntryWrapper *parentLib, size_t entryNumber)
Definition: PEFile.h:41
diff --git a/_import_dir_wrapper_8cpp_source.html b/_import_dir_wrapper_8cpp_source.html index 7ae925d6..e95e7574 100644 --- a/_import_dir_wrapper_8cpp_source.html +++ b/_import_dir_wrapper_8cpp_source.html @@ -453,9 +453,9 @@ $(function() {
bool isBit64()
Executable * m_Exe
virtual uint64_t getNumValue(size_t fieldId, size_t subField, bool *isOk)
-
std::vector< ExeNodeWrapper * > entries
-
ExeNodeWrapper * parentNode
-
size_t entryNum
+
std::vector< ExeNodeWrapper * > entries
+
ExeNodeWrapper * parentNode
+
size_t entryNum
addr_type
Definition: Executable.h:35
@ NOT_ADDR
Definition: Executable.h:36
@ RVA
Definition: Executable.h:38
diff --git a/_import_dir_wrapper_8h_source.html b/_import_dir_wrapper_8h_source.html index 3f9160a3..ed9a2a2c 100644 --- a/_import_dir_wrapper_8h_source.html +++ b/_import_dir_wrapper_8h_source.html @@ -244,7 +244,7 @@ $(function() {
Executable * m_Exe
virtual offset_t getNextEntryOffset()
virtual size_t getEntriesCount()
-
size_t entryNum
+
size_t entryNum
addr_type
Definition: Executable.h:35
@ RVA
Definition: Executable.h:38
@ RAW
Definition: Executable.h:37
@@ -254,7 +254,7 @@ $(function() {
static bufsize_t thunkSize(Executable::exe_bits bits)
virtual bool wrap()
-
bool wrap()
+
bool wrap()
ImportDirWrapper(PEFile *pe)
diff --git a/_ld_config_dir_wrapper_8cpp_source.html b/_ld_config_dir_wrapper_8cpp_source.html index d43507aa..37bd7ed2 100644 --- a/_ld_config_dir_wrapper_8cpp_source.html +++ b/_ld_config_dir_wrapper_8cpp_source.html @@ -643,8 +643,8 @@ $(function() {
virtual offset_t getOffset()
Executable * m_Exe
virtual uint64_t getNumValue(size_t fieldId, size_t subField, bool *isOk)
-
std::vector< ExeNodeWrapper * > entries
-
size_t entryNum
+
std::vector< ExeNodeWrapper * > entries
+
size_t entryNum
virtual void clear()
addr_type
Definition: Executable.h:35
@ NOT_ADDR
Definition: Executable.h:36
diff --git a/_reloc_dir_wrapper_8cpp_source.html b/_reloc_dir_wrapper_8cpp_source.html index bc3d8dbf..196648c6 100644 --- a/_reloc_dir_wrapper_8cpp_source.html +++ b/_reloc_dir_wrapper_8cpp_source.html @@ -395,8 +395,8 @@ $(function() {
Executable * m_Exe
virtual uint64_t getNumValue(size_t fieldId, size_t subField, bool *isOk)
virtual ExeNodeWrapper * getEntryAt(size_t fieldId)
-
std::vector< ExeNodeWrapper * > entries
-
size_t entryNum
+
std::vector< ExeNodeWrapper * > entries
+
size_t entryNum
virtual void clear()
addr_type
Definition: Executable.h:35
@ NOT_ADDR
Definition: Executable.h:36
diff --git a/_reloc_dir_wrapper_8h_source.html b/_reloc_dir_wrapper_8h_source.html index 266dfe9e..f0a73270 100644 --- a/_reloc_dir_wrapper_8h_source.html +++ b/_reloc_dir_wrapper_8h_source.html @@ -201,7 +201,7 @@ $(function() {
Definition: ExeNodeWrapper.h:9
virtual void * getSubfieldPtr(size_t fieldId, size_t subField)
virtual QString getSubfieldName(size_t fieldId, size_t subField)
-
std::vector< ExeNodeWrapper * > entries
+
std::vector< ExeNodeWrapper * > entries
virtual bufsize_t getSubfieldSize(size_t fieldId, size_t subField)
Definition: Executable.h:26
addr_type
Definition: Executable.h:35
diff --git a/_resource_dir_wrapper_8cpp_source.html b/_resource_dir_wrapper_8cpp_source.html index 360e9863..24f028f3 100644 --- a/_resource_dir_wrapper_8cpp_source.html +++ b/_resource_dir_wrapper_8cpp_source.html @@ -465,8 +465,8 @@ $(function() {
virtual offset_t getFieldOffset(size_t fieldId, size_t subField=FIELD_NONE)
virtual offset_t getOffset()
Executable * m_Exe
-
std::vector< ExeNodeWrapper * > entries
-
size_t entryNum
+
std::vector< ExeNodeWrapper * > entries
+
size_t entryNum
virtual void clear()
@ RVA
Definition: Executable.h:38
@ RAW
Definition: Executable.h:37
diff --git a/_resource_strings_wrapper_8cpp_source.html b/_resource_strings_wrapper_8cpp_source.html index adb9f6b9..e70200f7 100644 --- a/_resource_strings_wrapper_8cpp_source.html +++ b/_resource_strings_wrapper_8cpp_source.html @@ -198,7 +198,7 @@ $(function() {
uint64_t offset_t
Executable * m_Exe
-
std::vector< ExeNodeWrapper * > entries
+
std::vector< ExeNodeWrapper * > entries
virtual void clear()
Definition: Executable.h:26
@ RAW
Definition: Executable.h:37
diff --git a/_resource_strings_wrapper_8h_source.html b/_resource_strings_wrapper_8h_source.html index a4e6b670..786f461e 100644 --- a/_resource_strings_wrapper_8h_source.html +++ b/_resource_strings_wrapper_8h_source.html @@ -189,7 +189,7 @@ $(function() {
Executable * m_Exe
Definition: ExeNodeWrapper.h:9
-
std::vector< ExeNodeWrapper * > entries
+
std::vector< ExeNodeWrapper * > entries
Definition: Executable.h:26
@ RAW
Definition: Executable.h:37
BYTE * getContentAt(offset_t offset, bufsize_t size, bool allowExceptions=false)
Definition: Executable.h:57
diff --git a/_sect_hdrs_wrapper_8cpp_source.html b/_sect_hdrs_wrapper_8cpp_source.html index c4410c4c..97a91382 100644 --- a/_sect_hdrs_wrapper_8cpp_source.html +++ b/_sect_hdrs_wrapper_8cpp_source.html @@ -679,7 +679,7 @@ $(function() {
ExeNodeWrapper * getLastEntry()
virtual ExeNodeWrapper * getEntryAt(size_t fieldId)
virtual bufsize_t geEntrySize()
-
std::vector< ExeNodeWrapper * > entries
+
std::vector< ExeNodeWrapper * > entries
virtual offset_t getNextEntryOffset()
virtual size_t getEntriesCount()
virtual void clear()
diff --git a/_sect_hdrs_wrapper_8h_source.html b/_sect_hdrs_wrapper_8h_source.html index 46f96faa..c98b5113 100644 --- a/_sect_hdrs_wrapper_8h_source.html +++ b/_sect_hdrs_wrapper_8h_source.html @@ -256,8 +256,8 @@ $(function() {
virtual bufsize_t getContentSize()
Definition: ExeNodeWrapper.h:9
virtual void * getSubfieldPtr(size_t fieldId, size_t subField)
-
std::vector< ExeNodeWrapper * > entries
-
size_t entryNum
+
std::vector< ExeNodeWrapper * > entries
+
size_t entryNum
virtual bufsize_t getSubfieldSize(size_t fieldId, size_t subField)
addr_type
Definition: Executable.h:35
Definition: PEFile.h:41
diff --git a/_tls_dir_wrapper_8cpp_source.html b/_tls_dir_wrapper_8cpp_source.html index d9b0161d..e5514ecb 100644 --- a/_tls_dir_wrapper_8cpp_source.html +++ b/_tls_dir_wrapper_8cpp_source.html @@ -225,8 +225,8 @@ $(function() {
virtual bufsize_t getFieldSize(size_t fieldId, size_t subField=FIELD_NONE)
Executable * m_Exe
virtual uint64_t getNumValue(size_t fieldId, size_t subField, bool *isOk)
-
std::vector< ExeNodeWrapper * > entries
-
size_t entryNum
+
std::vector< ExeNodeWrapper * > entries
+
size_t entryNum
virtual void clear()
addr_type
Definition: Executable.h:35
@ NOT_ADDR
Definition: Executable.h:36
diff --git a/class_bound_entry_wrapper-members.html b/class_bound_entry_wrapper-members.html index c18886cc..6b9934c3 100644 --- a/class_bound_entry_wrapper-members.html +++ b/class_bound_entry_wrapper-members.html @@ -145,30 +145,31 @@ $(function() { isMyEntryType(ExeNodeWrapper *entry)ExeNodeWrapperprotectedvirtual isResized()AbstractByteBufferinlinevirtual isTruncated()AbstractByteBufferinlinevirtual - isValid(AbstractByteBuffer *buf)AbstractByteBufferstatic - loadNextEntry(size_t entryNum)ExeNodeWrapperinlineprotectedvirtual - m_ExeExeElementWrapperprotected - MODULE_FORWARDERS_NUM enum valueBoundEntryWrapper - MODULE_NAME_OFFSET enum valueBoundEntryWrapper - NONE enum valueBoundEntryWrapper - operator[](size_t idx)AbstractByteBuffer - parentNodeExeNodeWrapperprotected - pasteBuffer(offset_t rawOffset, AbstractByteBuffer *buf, bool allowTrunc)AbstractByteBuffer - 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 - TIMESTAMP enum valueBoundEntryWrapper - translateFieldContent(size_t fieldId)ExeElementWrapperinlinevirtual - wrap()BoundEntryWrapperinlinevirtual - ~AbstractByteBuffer()AbstractByteBufferinlinevirtual - ~ExeElementWrapper()ExeElementWrapperinlinevirtual - ~ExeNodeWrapper()ExeNodeWrapperinlinevirtual + isValid()ExeNodeWrapperinlinevirtual + ExeElementWrapper::isValid(AbstractByteBuffer *buf)AbstractByteBufferstatic + loadNextEntry(size_t entryNum)ExeNodeWrapperinlineprotectedvirtual + m_ExeExeElementWrapperprotected + MODULE_FORWARDERS_NUM enum valueBoundEntryWrapper + MODULE_NAME_OFFSET enum valueBoundEntryWrapper + NONE enum valueBoundEntryWrapper + operator[](size_t idx)AbstractByteBuffer + parentNodeExeNodeWrapperprotected + pasteBuffer(offset_t rawOffset, AbstractByteBuffer *buf, bool allowTrunc)AbstractByteBuffer + 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 + TIMESTAMP enum valueBoundEntryWrapper + translateFieldContent(size_t fieldId)ExeElementWrapperinlinevirtual + wrap()BoundEntryWrapperinlinevirtual + ~AbstractByteBuffer()AbstractByteBufferinlinevirtual + ~ExeElementWrapper()ExeElementWrapperinlinevirtual + ~ExeNodeWrapper()ExeNodeWrapperinlinevirtual