4size_t TlsDirWrapper::EntriesLimit = 10000;
10 for (
size_t i = 0; i < TlsDirWrapper::EntriesLimit; i++) {
13 if (entry->
getPtr() == NULL) {
20 if (!isOk || val == 0) {
39 if (
getPtr() == NULL)
return 0;
41 return sizeof(IMAGE_TLS_DIRECTORY32);
43 return sizeof(IMAGE_TLS_DIRECTORY64);
46void* TlsDirWrapper::getTlsDirPtr()
51 dirSize =
sizeof(IMAGE_TLS_DIRECTORY32);
53 dirSize =
sizeof(IMAGE_TLS_DIRECTORY64);
61IMAGE_TLS_DIRECTORY32* TlsDirWrapper::tls32()
64 return (IMAGE_TLS_DIRECTORY32*) getTlsDirPtr();
67IMAGE_TLS_DIRECTORY64* TlsDirWrapper::tls64()
70 return (IMAGE_TLS_DIRECTORY64*) getTlsDirPtr();
75 IMAGE_TLS_DIRECTORY32* t32 = tls32();
76 IMAGE_TLS_DIRECTORY64* t64 = tls64();
78 if (t32 == NULL && t64 == NULL)
return NULL;
81 case START_ADDR :
return t32 ? (
void*) &t32->StartAddressOfRawData : (
void*) &t64->StartAddressOfRawData;
82 case END_ADDR :
return t32 ? (
void*) &t32->EndAddressOfRawData : (
void*) &t64->EndAddressOfRawData;
83 case INDEX_ADDR :
return t32 ? (
void*) &t32->AddressOfIndex : (
void*) &t64->AddressOfIndex;
84 case CALLBACKS_ADDR :
return t32 ? (
void*) &t32->AddressOfCallBacks : (
void*) &t64->AddressOfCallBacks;
85 case ZEROF_SIZE :
return t32 ? (
void*) &t32->SizeOfZeroFill : (
void*) &t64->SizeOfZeroFill;
86 case CHARACT :
return t32 ? (
void*) &t32->Characteristics : (
void*) &t64->Characteristics;
94 case START_ADDR :
return "StartAddressOfRawData";
95 case END_ADDR :
return "EndAddressOfRawData";
99 case CHARACT :
return "Characteristics";
119 if (this->parentDir == NULL)
return NULL;
123 if (!isOk)
return NULL;
138 if (this->parentDir == NULL)
return 0;
const offset_t INVALID_ADDR
offset_t getDirEntryAddress()
virtual bufsize_t getFieldSize(size_t fieldId, size_t subField=FIELD_NONE)
virtual uint64_t getNumValue(size_t fieldId, size_t subField, bool *isOk)
std::vector< ExeNodeWrapper * > entries
virtual exe_bits getBitMode()
virtual offset_t toRaw(offset_t offset, addr_type addrType, bool allowExceptions=false)
BYTE * getContentAt(offset_t offset, bufsize_t size, bool allowExceptions=false)
virtual QString getName()
virtual bufsize_t getSize()
virtual void * getFieldPtr(size_t fieldId, size_t subField)
virtual QString getFieldName(size_t fieldId)
virtual Executable::addr_type containsAddrType(size_t fieldId, size_t subField=FIELD_NONE)
virtual bufsize_t getSize()