25 if (ptr == NULL)
return NULL;
26 return (IMAGE_BOUND_IMPORT_DESCRIPTOR*) ptr;
32 if (!imp || !imp->
getPtr()) {
39 if (!isOk || offset == 0) {
68 if (
getPtr() == NULL)
return 0;
78 if (!parent)
return NULL;
80 IMAGE_BOUND_IMPORT_DESCRIPTOR* firstEntry = parent->
boundImp();
81 if (firstEntry == NULL)
return NULL;
83 uint64_t descAddr = parent->
getOffset(firstEntry);
86 uint64_t entryOffset = descAddr + (this->
entryNum *
sizeof(IMAGE_BOUND_IMPORT_DESCRIPTOR));
90 if (!content)
return NULL;
98 if (
getPtr() == NULL)
return 0;
99 return sizeof(IMAGE_BOUND_IMPORT_DESCRIPTOR);
105 if (!name)
return "";
106 return QString(name);
113 if (!parent)
return NULL;
115 IMAGE_BOUND_IMPORT_DESCRIPTOR* firstEntry = parent->
boundImp();
116 if (firstEntry == NULL)
return NULL;
118 uint64_t offset = this->
getOffset(firstEntry);
121 IMAGE_BOUND_IMPORT_DESCRIPTOR* bImp = (IMAGE_BOUND_IMPORT_DESCRIPTOR*) this->
getPtr();
122 if (bImp == NULL)
return NULL;
124 WORD mnOff = bImp->OffsetModuleName;
135 if (!parent)
return NULL;
137 IMAGE_BOUND_IMPORT_DESCRIPTOR* bImp = (IMAGE_BOUND_IMPORT_DESCRIPTOR*) this->
getPtr();
138 if (bImp == NULL)
return NULL;
141 case TIMESTAMP :
return &bImp->TimeDateStamp;
const offset_t INVALID_ADDR
virtual void * getFieldPtr(size_t fieldId, size_t subField)
virtual char * getLibraryName()
virtual bufsize_t getSize()
virtual QString getFieldName(size_t fieldId)
virtual QString getName()
bool loadNextEntry(size_t entryNum)
IMAGE_BOUND_IMPORT_DESCRIPTOR * boundImp()
friend class BoundEntryWrapper
virtual bufsize_t getSize()
offset_t getDirEntryAddress()
IMAGE_DATA_DIRECTORY * getDataDirectory()
virtual uint64_t getNumValue(size_t fieldId, size_t subField, bool *isOk)
std::vector< ExeNodeWrapper * > entries
virtual ExeNodeWrapper * getParentNode()
BYTE * getContentAt(offset_t offset, bufsize_t size, bool allowExceptions=false)