9 if (!myName)
return false;
11 if (upperLimit == 0)
return false;
14 if (isInvalid)
return false;
33 if (func == NULL)
return;
62 size_t entriesCount = this->
entries.size();
64 for (
size_t i = 0; i < entriesCount; i++) {
69 for (
size_t fI = 0; fI < funcCount; fI++) {
77 std::map<offset_t, size_t>::iterator libItr =
thunkToLibMap.find(thunk);
80 size_t libId = libItr->second;
88 if (!lib)
return NULL;
90 std::map<offset_t, size_t>::iterator funcItr = lib->
thunkToFuncMap.find(thunk);
100 if (func == NULL)
return "";
127 const size_t LIMIT = (-1);
128 const size_t INVALID_LIMIT = 100;
130 size_t invalidSeries = 0;
131 for (cntr = 0; cntr < LIMIT; cntr++) {
141 if (invalidSeries >= INVALID_LIMIT)
break;
154 if (!thunks.size())
return false;
175 const size_t LIMIT = (-1);
176 const size_t INVALID_LIMIT = 100;
181 if (this->
getPtr() == NULL) {
186 size_t invalidSeries = 0;
187 for (cntr = 0; cntr < LIMIT; cntr++) {
197 if (invalidSeries >= INVALID_LIMIT)
break;
207 QString functionName;
211#if QT_VERSION >= 0x050000
212 out = QString::asprintf(
"<ord: %llX>",
static_cast<unsigned long long>(val));
214 out.sprintf(
"<ord: %llX>",
static_cast<unsigned long long>(val));
219 if (!fName)
return "";
220 functionName = fName;
231 if (!libName)
return "";
233 return QString(libName);
241 if (!libName.length())
return functionName;
243 return "[" + QString(libName) +
"]." + functionName;
249 if (!p)
return false;
const offset_t INVALID_ADDR
bufsize_t getMaxSizeFromPtr(BYTE *ptr)
IMAGE_DATA_DIRECTORY * getDataDirectory()
virtual void * getPtr()=0
virtual QString getName()=0
virtual ExeNodeWrapper * getEntryAt(size_t fieldId)
std::vector< ExeNodeWrapper * > entries
virtual bool loadNextEntry(size_t entryNum)
virtual size_t getEntriesCount()
static bufsize_t thunkSize(Executable::exe_bits bits)
ImportBaseEntryWrapper * thunkToLib(offset_t thunk)
QList< offset_t > thunksList
std::map< offset_t, size_t > thunkToLibMap
virtual void reloadMapping()
QList< offset_t > getThunksList()
virtual void clearMapping()
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
virtual char * getLibraryName()=0
std::map< offset_t, size_t > thunkToFuncMap
virtual QString getName()
virtual uint64_t getOrdinal()=0
virtual char * getFunctionName()=0
virtual offset_t callVia()=0
virtual bool isByOrdinal()=0
virtual PENodeWrapper * getParentNode()
bool isNameValid(Executable *pe, char *myName)
bool hasNonPrintable(const char *ptr, size_t maxInp)
size_t noWhiteCount(char *buf, size_t bufSize)