13 #ifndef RETDEC_PELIB_PELIBAUX_H
14 #define RETDEC_PELIB_PELIBAUX_H
20 #pragma warning(disable:4267)
21 #pragma warning(disable:4244)
498 return size + v.size();
506 const std::vector<PELIB_IMAGE_FILE_MACHINE>
all =
580 static inline std::size_t
size()
607 static inline std::size_t
size()
624 static inline std::size_t
size() {
return 8;}
746 return sizeof(std::uint32_t);
816 Name[i] = newName[i];
830 if(newVirtualAddress != UINT32_MAX)
832 if(newVirtualSize != UINT32_MAX)
836 void setRawDataRange(std::uint32_t newPointerToRawData, std::uint32_t newSizeOfRawData)
838 if(newPointerToRawData != UINT32_MAX)
840 if(newSizeOfRawData != UINT32_MAX)
844 static const std::size_t
size()
879 static inline std::size_t
size() {
return 20;}
911 static inline std::size_t
size()
930 static inline std::size_t
size()
946 bool equal(
const std::string strModuleName2)
const;
948 std::size_t
size()
const;
960 bool equal(
const std::string strFunctionName)
const;
961 inline unsigned int size()
const
963 unsigned int uiSize = 4;
966 uiSize = (
unsigned int)(uiSize + 4 +
funcname.size() + 1);
982 static inline std::size_t
size() {
return 16;}
992 static inline std::size_t
size() {
return 8;}
1017 static inline std::size_t
size() {
return 72;}
1036 static inline std::size_t
size() {
return 72;}
1055 bool isEqualNc(
const std::string& s1,
const std::string& s2);
1075 return hint == wHint;
1086 return pointerSize +
fname.size() + 1 +
sizeof(
hint);
1120 totalSize += element.calculateSize(pointerSize);
1121 return totalSize + pointerSize;
1126 return isEqualNc(this->name, strFilename);
1140 static inline unsigned int size() {
return 16;}
1168 static std::size_t
size() {
return 28;}
1210 std::uint32_t
AlignToSize(std::uint32_t ByteSize, std::uint32_t AlignSize);
1212 std::uint64_t
fileSize(
const std::string& filename);
1213 std::uint64_t
fileSize(std::istream& stream);
1214 std::uint64_t
fileSize(std::ofstream& file);
1215 std::uint64_t
fileSize(std::fstream& file);
1216 unsigned int alignOffset(
unsigned int uiOffset,
unsigned int uiAlignment);
1218 std::istream &stream,
1219 std::string &result,
1220 std::size_t fileOffset,
1221 std::size_t maxLength = 0,
1223 bool isNotTooLong =
false);
1501 static inline unsigned int size() {
return 8; }
1522 operator std::istream&()
const
1533 explicit operator bool()
const
1535 return static_cast<bool>(
_stream);
1566 void clear(std::ios_base::iostate state = std::ios_base::goodbit)
Definition: PeLibAux.h:1506
~IStreamWrapper()
Definition: PeLibAux.h:1516
std::streampos _pos
Definition: PeLibAux.h:1573
std::istream & getIstream()
Definition: PeLibAux.h:1526
std::streamsize gcount() const
Definition: PeLibAux.h:1561
IStreamWrapper & seekg(std::streamoff off, std::ios_base::seekdir way)
Definition: PeLibAux.h:1544
IStreamWrapper & seekg(std::streampos pos)
Definition: PeLibAux.h:1538
std::streampos tellg()
Definition: PeLibAux.h:1550
void clear(std::ios_base::iostate state=std::ios_base::goodbit)
Definition: PeLibAux.h:1566
IStreamWrapper & read(char *s, std::streamsize n)
Definition: PeLibAux.h:1555
std::istream & _stream
Definition: PeLibAux.h:1572
std::ios::iostate _state
Definition: PeLibAux.h:1574
IStreamWrapper(std::istream &stream)
Definition: PeLibAux.h:1508
Definition: PeLibAux.h:502
imageFileMachineIterator begin() const
Definition: PeLibAux.cpp:112
const std::vector< PELIB_IMAGE_FILE_MACHINE > all
Definition: PeLibAux.h:506
bool isValidMachineCode(PELIB_IMAGE_FILE_MACHINE value) const
Definition: PeLibAux.cpp:107
~PELIB_IMAGE_FILE_MACHINE_ITERATOR()
Definition: PeLibAux.cpp:102
imageFileMachineIterator end() const
Definition: PeLibAux.cpp:117
std::vector< PELIB_IMAGE_FILE_MACHINE >::const_iterator imageFileMachineIterator
Definition: PeLibAux.h:504
PELIB_IMAGE_FILE_MACHINE_ITERATOR()
Definition: PeLibAux.cpp:97
Definition: BoundImportDirectory.h:21
@ PELIB_IMAGE_FILE_DEBUG_STRIPPED
Definition: PeLibAux.h:288
@ PELIB_IMAGE_FILE_LINE_NUMS_STRIPPED
Definition: PeLibAux.h:282
@ PELIB_IMAGE_FILE_DLL
Definition: PeLibAux.h:292
@ PELIB_IMAGE_FILE_EXECUTABLE_IMAGE
Definition: PeLibAux.h:281
@ PELIB_IMAGE_FILE_SYSTEM
Definition: PeLibAux.h:291
@ PELIB_IMAGE_FILE_NET_RUN_FROM_SWAP
Definition: PeLibAux.h:290
@ PELIB_IMAGE_FILE_BYTES_REVERSED_HI
Definition: PeLibAux.h:294
@ PELIB_IMAGE_FILE_LARGE_ADDRESS_AWARE
Definition: PeLibAux.h:285
@ PELIB_IMAGE_FILE_BYTES_REVERSED_LO
Definition: PeLibAux.h:286
@ PELIB_IMAGE_FILE_UP_SYSTEM_ONLY
Definition: PeLibAux.h:293
@ PELIB_IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
Definition: PeLibAux.h:289
@ PELIB_IMAGE_FILE_LOCAL_SYMS_STRIPPED
Definition: PeLibAux.h:283
@ PELIB_IMAGE_FILE_RELOCS_STRIPPED
Definition: PeLibAux.h:280
@ PELIB_IMAGE_FILE_AGGRESSIVE_WS_TRIM
Definition: PeLibAux.h:284
@ PELIB_IMAGE_FILE_32BIT_MACHINE
Definition: PeLibAux.h:287
bool getLoaderErrorLoadableAnyway(LoaderError ldrError)
Definition: PeLibAux.cpp:188
std::uint32_t AlignToSize(std::uint32_t ByteSize, std::uint32_t AlignSize)
Definition: PeLibAux.cpp:128
@ PELIB_IMAGE_REL_BASED_HIGHLOW
Definition: PeLibAux.h:335
@ PELIB_IMAGE_REL_BASED_LOW
Definition: PeLibAux.h:334
@ PELIB_IMAGE_REL_BASED_ABSOLUTE
Definition: PeLibAux.h:332
@ PELIB_IMAGE_REL_BASED_DIR64
Definition: PeLibAux.h:339
@ PELIB_IMAGE_REL_BASED_HIGHADJ
Definition: PeLibAux.h:336
@ PELIB_IMAGE_REL_BASED_HIGH
Definition: PeLibAux.h:333
@ PELIB_IMAGE_REL_BASED_IA64_IMM64
Definition: PeLibAux.h:338
@ PELIB_IMAGE_REL_BASED_MIPS_JMPADDR
Definition: PeLibAux.h:337
@ PELIB_IMAGE_NT_OPTIONAL_HDR64_MAGIC
Definition: PeLibAux.h:314
@ PELIB_IMAGE_NT_OPTIONAL_HDR32_MAGIC
Definition: PeLibAux.h:313
@ PELIB_IMAGE_ROM_OPTIONAL_HDR_MAGIC
Definition: PeLibAux.h:315
unsigned int accumulate(unsigned int size, const T &v)
Definition: PeLibAux.h:496
@ PELIB_IMAGE_DIRECTORY_ENTRY_RESOURCE
Definition: PeLibAux.h:171
@ PELIB_IMAGE_DIRECTORY_ENTRY_BASERELOC
Definition: PeLibAux.h:174
@ PELIB_IMAGE_DIRECTORY_ENTRY_TLS
Definition: PeLibAux.h:178
@ PELIB_IMAGE_DIRECTORY_ENTRY_GLOBALPTR
Definition: PeLibAux.h:177
@ PELIB_IMAGE_DIRECTORY_ENTRY_IAT
Definition: PeLibAux.h:181
@ PELIB_IMAGE_DIRECTORY_ENTRY_ARCHITECTURE
Definition: PeLibAux.h:176
@ PELIB_IMAGE_DIRECTORY_ENTRY_IMPORT
Definition: PeLibAux.h:170
@ PELIB_IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR
Definition: PeLibAux.h:183
@ PELIB_IMAGE_DIRECTORY_ENTRY_SECURITY
Definition: PeLibAux.h:173
@ PELIB_IMAGE_DIRECTORY_ENTRY_DEBUG
Definition: PeLibAux.h:175
@ PELIB_IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG
Definition: PeLibAux.h:179
@ PELIB_IMAGE_DIRECTORY_ENTRY_EXCEPTION
Definition: PeLibAux.h:172
@ PELIB_IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT
Definition: PeLibAux.h:180
@ PELIB_IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT
Definition: PeLibAux.h:182
@ PELIB_IMAGE_DIRECTORY_ENTRY_EXPORT
Definition: PeLibAux.h:169
LoaderError
Definition: PeLibAux.h:47
@ LDR_ERROR_SECTION_ALIGNMENT_NOT_POW2
Definition: PeLibAux.h:62
@ LDR_ERROR_DIGITAL_SIGNATURE_ZEROED
Definition: PeLibAux.h:104
@ LDR_ERROR_INVALID_SECTION_VA
Definition: PeLibAux.h:77
@ LDR_ERROR_RAW_DATA_OVERFLOW
Definition: PeLibAux.h:73
@ LDR_ERROR_INVALID_SECTION_VSIZE
Definition: PeLibAux.h:78
@ LDR_ERROR_SIZE_OF_IMAGE_ZERO
Definition: PeLibAux.h:70
@ LDR_ERROR_INVALID_MACHINE64
Definition: PeLibAux.h:67
@ LDR_ERROR_ENTRY_POINT_ZEROED
Definition: PeLibAux.h:100
@ LDR_ERROR_RSRC_OVER_END_OF_IMAGE
Definition: PeLibAux.h:93
@ LDR_ERROR_RELOC_ENTRY_BAD_TYPE
Definition: PeLibAux.h:110
@ LDR_ERROR_INMEMORY_IMAGE
Definition: PeLibAux.h:113
@ LDR_ERROR_FILE_ALIGNMENT_NOT_POW2
Definition: PeLibAux.h:60
@ LDR_ERROR_SECTION_HEADERS_OVERFLOW
Definition: PeLibAux.h:75
@ LDR_ERROR_NO_OPTHDR_MAGIC
Definition: PeLibAux.h:57
@ LDR_ERROR_IMPDIR_OUT_OF_FILE
Definition: PeLibAux.h:85
@ LDR_ERROR_SECTION_ALIGNMENT_INVALID
Definition: PeLibAux.h:64
@ LDR_ERROR_FILE_IS_CUT_LOADABLE
Definition: PeLibAux.h:82
@ LDR_ERROR_ENTRY_POINT_OUT_OF_IMAGE
Definition: PeLibAux.h:99
@ LDR_ERROR_IMPDIR_COUNT_EXCEEDED
Definition: PeLibAux.h:87
@ LDR_ERROR_RSRC_SUBDIR_OUT_OF_IMAGE
Definition: PeLibAux.h:96
@ LDR_ERROR_INVALID_MACHINE32
Definition: PeLibAux.h:66
@ LDR_ERROR_FILE_HEADER_INVALID
Definition: PeLibAux.h:55
@ LDR_ERROR_IMAGE_NON_EXECUTABLE
Definition: PeLibAux.h:56
@ LDR_ERROR_MAX
Definition: PeLibAux.h:115
@ LDR_ERROR_SIZE_OF_OPTHDR_NOT_ALIGNED
Definition: PeLibAux.h:69
@ LDR_ERROR_FILE_IS_CUT
Definition: PeLibAux.h:81
@ LDR_ERROR_IMPDIR_IMPORT_COUNT_EXCEEDED
Definition: PeLibAux.h:90
@ LDR_ERROR_IMPDIR_CUT
Definition: PeLibAux.h:86
@ LDR_ERROR_DIGITAL_SIGNATURE_CUT
Definition: PeLibAux.h:103
@ LDR_ERROR_NTHEADER_OFFSET_OVERFLOW
Definition: PeLibAux.h:52
@ LDR_ERROR_INVALID_SECTION_RAWSIZE
Definition: PeLibAux.h:79
@ LDR_ERROR_SECTION_SIZE_MISMATCH
Definition: PeLibAux.h:76
@ LDR_ERROR_SIZE_OF_IMAGE_TOO_BIG
Definition: PeLibAux.h:65
@ LDR_ERROR_SECTION_ALIGNMENT_TOO_SMALL
Definition: PeLibAux.h:63
@ LDR_ERROR_RELOCATIONS_OUT_OF_IMAGE
Definition: PeLibAux.h:107
@ LDR_ERROR_SIZE_OF_HEADERS_INVALID
Definition: PeLibAux.h:68
@ LDR_ERROR_SECTION_HEADERS_OUT_OF_IMAGE
Definition: PeLibAux.h:74
@ LDR_ERROR_IMPDIR_THUNK_RVA_INVALID
Definition: PeLibAux.h:89
@ LDR_ERROR_IMPDIR_NAME_RVA_INVALID
Definition: PeLibAux.h:88
@ LDR_ERROR_SECTION_ALIGNMENT_ZERO
Definition: PeLibAux.h:61
@ LDR_ERROR_FILE_ALIGNMENT_ZERO
Definition: PeLibAux.h:59
@ LDR_ERROR_NONE
Definition: PeLibAux.h:48
@ LDR_ERROR_RELOC_BLOCK_INVALID_LENGTH
Definition: PeLibAux.h:109
@ LDR_ERROR_FILE_TOO_BIG
Definition: PeLibAux.h:49
@ LDR_ERROR_SIZE_OF_HEADERS_ZERO
Definition: PeLibAux.h:58
@ LDR_ERROR_RSRC_NAME_OUT_OF_IMAGE
Definition: PeLibAux.h:94
@ LDR_ERROR_E_LFANEW_OUT_OF_FILE
Definition: PeLibAux.h:51
@ LDR_ERROR_IMAGE_BASE_NOT_ALIGNED
Definition: PeLibAux.h:71
@ LDR_ERROR_INVALID_SIZE_OF_IMAGE
Definition: PeLibAux.h:80
@ LDR_ERROR_NTHEADER_OUT_OF_FILE
Definition: PeLibAux.h:53
@ LDR_ERROR_SIZE_OF_IMAGE_PTES_ZERO
Definition: PeLibAux.h:72
@ LDR_ERROR_RSRC_DATA_OUT_OF_IMAGE
Definition: PeLibAux.h:95
@ LDR_ERROR_RELOC_BLOCK_INVALID_VA
Definition: PeLibAux.h:108
@ LDR_ERROR_NO_NT_SIGNATURE
Definition: PeLibAux.h:54
@ LDR_ERROR_E_LFANEW_UNALIGNED
Definition: PeLibAux.h:50
const std::uint32_t PELIB_IMAGE_NUMBEROF_DIRECTORY_ENTRIES
Definition: PeLibAux.h:160
@ PELIB_LANG_CROATIAN
Definition: PeLibAux.h:396
@ PELIB_LANG_SORBIAN
Definition: PeLibAux.h:417
@ PELIB_LANG_KINYARWANDA
Definition: PeLibAux.h:489
@ PELIB_LANG_JAPANESE
Definition: PeLibAux.h:388
@ PELIB_LANG_PERSIAN
Definition: PeLibAux.h:412
@ PELIB_LANG_UPPER_SORBIAN
Definition: PeLibAux.h:419
@ PELIB_LANG_IGBO
Definition: PeLibAux.h:475
@ PELIB_LANG_BULGARIAN
Definition: PeLibAux.h:373
@ PELIB_LANG_BASHKIR
Definition: PeLibAux.h:472
@ PELIB_LANG_BASQUE
Definition: PeLibAux.h:416
@ PELIB_LANG_GREEK
Definition: PeLibAux.h:379
@ PELIB_LANG_SOTHO
Definition: PeLibAux.h:471
@ PELIB_LANG_RUSSIAN
Definition: PeLibAux.h:395
@ PELIB_LANG_SINDHI
Definition: PeLibAux.h:456
@ PELIB_LANG_NORWEGIAN
Definition: PeLibAux.h:391
@ PELIB_LANG_BELARUSIAN
Definition: PeLibAux.h:407
@ PELIB_LANG_YI
Definition: PeLibAux.h:477
@ PELIB_LANG_MAPUDUNGUN
Definition: PeLibAux.h:478
@ PELIB_LANG_IRISH
Definition: PeLibAux.h:430
@ PELIB_LANG_OCCITAN
Definition: PeLibAux.h:484
@ PELIB_LANG_QUECHUA
Definition: PeLibAux.h:470
@ PELIB_LANG_BOSNIAN_NEUTRAL
Definition: PeLibAux.h:398
@ PELIB_LANG_TIBETAN
Definition: PeLibAux.h:449
@ PELIB_LANG_VIETNAMESE
Definition: PeLibAux.h:413
@ PELIB_LANG_KANNADA
Definition: PeLibAux.h:443
@ PELIB_LANG_GUJARATI
Definition: PeLibAux.h:439
@ PELIB_LANG_THAI
Definition: PeLibAux.h:402
@ PELIB_LANG_SINHALESE
Definition: PeLibAux.h:458
@ PELIB_LANG_MALAY
Definition: PeLibAux.h:431
@ PELIB_LANG_SPANISH
Definition: PeLibAux.h:381
@ PELIB_LANG_KASHMIRI
Definition: PeLibAux.h:462
@ PELIB_LANG_KOREAN
Definition: PeLibAux.h:389
@ PELIB_LANG_ROMANIAN
Definition: PeLibAux.h:394
@ PELIB_LANG_CZECH
Definition: PeLibAux.h:376
@ PELIB_LANG_INVARIANT
Definition: PeLibAux.h:481
@ PELIB_LANG_KHMER
Definition: PeLibAux.h:451
@ PELIB_LANG_DARI
Definition: PeLibAux.h:491
@ PELIB_LANG_KAZAK
Definition: PeLibAux.h:432
@ PELIB_LANG_ARMENIAN
Definition: PeLibAux.h:414
@ PELIB_LANG_TIGRIGNA
Definition: PeLibAux.h:476
@ PELIB_LANG_WELSH
Definition: PeLibAux.h:450
@ PELIB_LANG_WOLOF
Definition: PeLibAux.h:490
@ PELIB_LANG_GEORGIAN
Definition: PeLibAux.h:425
@ PELIB_LANG_UIGHUR
Definition: PeLibAux.h:482
@ PELIB_LANG_GREENLANDIC
Definition: PeLibAux.h:474
@ PELIB_LANG_PORTUGUESE
Definition: PeLibAux.h:393
@ PELIB_LANG_HAUSA
Definition: PeLibAux.h:468
@ PELIB_LANG_HUNGARIAN
Definition: PeLibAux.h:385
@ PELIB_LANG_HEBREW
Definition: PeLibAux.h:384
@ PELIB_LANG_ARABIC
Definition: PeLibAux.h:372
@ PELIB_LANG_LUXEMBOURGISH
Definition: PeLibAux.h:473
@ PELIB_LANG_CHINESE
Definition: PeLibAux.h:375
@ PELIB_LANG_UZBEK
Definition: PeLibAux.h:435
@ PELIB_LANG_FILIPINO
Definition: PeLibAux.h:466
@ PELIB_LANG_DIVEHI
Definition: PeLibAux.h:467
@ PELIB_LANG_FRISIAN
Definition: PeLibAux.h:464
@ PELIB_LANG_TURKISH
Definition: PeLibAux.h:403
@ PELIB_LANG_YAKUT
Definition: PeLibAux.h:487
@ PELIB_LANG_XHOSA
Definition: PeLibAux.h:422
@ PELIB_LANG_MALTESE
Definition: PeLibAux.h:428
@ PELIB_LANG_URDU
Definition: PeLibAux.h:404
@ PELIB_LANG_SLOVAK
Definition: PeLibAux.h:399
@ PELIB_LANG_KONKANI
Definition: PeLibAux.h:454
@ PELIB_LANG_TATAR
Definition: PeLibAux.h:436
@ PELIB_LANG_GALICIAN
Definition: PeLibAux.h:453
@ PELIB_LANG_GERMAN
Definition: PeLibAux.h:378
@ PELIB_LANG_MANIPURI
Definition: PeLibAux.h:455
@ PELIB_LANG_AMHARIC
Definition: PeLibAux.h:460
@ PELIB_LANG_PUNJABI
Definition: PeLibAux.h:438
@ PELIB_LANG_ALBANIAN
Definition: PeLibAux.h:400
@ PELIB_LANG_MAORI
Definition: PeLibAux.h:483
@ PELIB_LANG_SYRIAC
Definition: PeLibAux.h:457
@ PELIB_LANG_ENGLISH
Definition: PeLibAux.h:380
@ PELIB_LANG_UKRAINIAN
Definition: PeLibAux.h:406
@ PELIB_LANG_FAEROESE
Definition: PeLibAux.h:426
@ PELIB_LANG_SANSKRIT
Definition: PeLibAux.h:447
@ PELIB_LANG_ITALIAN
Definition: PeLibAux.h:387
@ PELIB_LANG_ESTONIAN
Definition: PeLibAux.h:409
@ PELIB_LANG_SAMI
Definition: PeLibAux.h:429
@ PELIB_LANG_ORIYA
Definition: PeLibAux.h:440
@ PELIB_LANG_NEUTRAL
Definition: PeLibAux.h:371
@ PELIB_LANG_SWAHILI
Definition: PeLibAux.h:434
@ PELIB_LANG_PASHTO
Definition: PeLibAux.h:465
@ PELIB_LANG_ZULU
Definition: PeLibAux.h:423
@ PELIB_LANG_ALSATIAN
Definition: PeLibAux.h:486
@ PELIB_LANG_INDONESIAN
Definition: PeLibAux.h:405
@ PELIB_LANG_TAMAZIGHT
Definition: PeLibAux.h:461
@ PELIB_LANG_ICELANDIC
Definition: PeLibAux.h:386
@ PELIB_LANG_NEPALI
Definition: PeLibAux.h:463
@ PELIB_LANG_LITHUANIAN
Definition: PeLibAux.h:411
@ PELIB_LANG_TELUGU
Definition: PeLibAux.h:442
@ PELIB_LANG_HINDI
Definition: PeLibAux.h:427
@ PELIB_LANG_LAO
Definition: PeLibAux.h:452
@ PELIB_LANG_MOHAWK
Definition: PeLibAux.h:479
@ PELIB_LANG_AFRIKAANS
Definition: PeLibAux.h:424
@ PELIB_LANG_TAMIL
Definition: PeLibAux.h:441
@ PELIB_LANG_YORUBA
Definition: PeLibAux.h:469
@ PELIB_LANG_BRETON
Definition: PeLibAux.h:480
@ PELIB_LANG_FRENCH
Definition: PeLibAux.h:383
@ PELIB_LANG_KYRGYZ
Definition: PeLibAux.h:433
@ PELIB_LANG_SLOVENIAN
Definition: PeLibAux.h:408
@ PELIB_LANG_LATVIAN
Definition: PeLibAux.h:410
@ PELIB_LANG_MALAGASY
Definition: PeLibAux.h:492
@ PELIB_LANG_MACEDONIAN
Definition: PeLibAux.h:420
@ PELIB_LANG_DANISH
Definition: PeLibAux.h:377
@ PELIB_LANG_SWEDISH
Definition: PeLibAux.h:401
@ PELIB_LANG_SERBIAN_NEUTRAL
Definition: PeLibAux.h:397
@ PELIB_LANG_DUTCH
Definition: PeLibAux.h:390
@ PELIB_LANG_BENGALI
Definition: PeLibAux.h:437
@ PELIB_LANG_FINNISH
Definition: PeLibAux.h:382
@ PELIB_LANG_KICHE
Definition: PeLibAux.h:488
@ PELIB_LANG_AZERI
Definition: PeLibAux.h:415
@ PELIB_LANG_LOWER_SORBIAN
Definition: PeLibAux.h:418
@ PELIB_LANG_ASSAMESE
Definition: PeLibAux.h:445
@ PELIB_LANG_INUKTITUT
Definition: PeLibAux.h:459
@ PELIB_LANG_CORSICAN
Definition: PeLibAux.h:485
@ PELIB_LANG_POLISH
Definition: PeLibAux.h:392
@ PELIB_LANG_MONGOLIAN
Definition: PeLibAux.h:448
@ PELIB_LANG_TSWANA
Definition: PeLibAux.h:421
@ PELIB_LANG_MALAYALAM
Definition: PeLibAux.h:444
@ PELIB_LANG_CATALAN
Definition: PeLibAux.h:374
@ PELIB_LANG_MARATHI
Definition: PeLibAux.h:446
std::uint32_t BytesToPages(std::uint32_t ByteSize)
Definition: PeLibAux.cpp:133
std::size_t getStringFromFileOffset(std::istream &stream, std::string &result, std::size_t fileOffset, std::size_t maxLength=0, bool isPrintable=false, bool isNotTooLong=false)
Definition: PeLibAux.cpp:222
const std::uint32_t PELIB_IMAGE_NT_SIGNATURE
Definition: PeLibAux.h:147
@ PELIB_WIN_CERT_TYPE_TS_STACK_SIGNED
Definition: PeLibAux.h:1491
@ PELIB_WIN_CERT_TYPE_PKCS_SIGNED_DATA
Definition: PeLibAux.h:1489
@ PELIB_WIN_CERT_TYPE_X509
Definition: PeLibAux.h:1488
@ PELIB_WIN_CERT_TYPE_RESERVED_1
Definition: PeLibAux.h:1490
const char * getLoaderErrorString(LoaderError ldrError, bool userFriendly=false)
Definition: PeLibAux.cpp:172
std::vector< std::uint8_t > ByteBuffer
Definition: PeLibAux.h:126
unsigned int alignOffset(unsigned int uiOffset, unsigned int uiAlignment)
Definition: PeLibAux.cpp:122
const std::uint16_t PELIB_IMAGE_DOS_SIGNATURE
Definition: PeLibAux.h:137
const std::uint16_t PELIB_MAX_RESOURCE_ENTRIES
Definition: PeLibAux.h:165
const std::size_t IMPORT_LIBRARY_MAX_LENGTH
Definition: PeLibAux.h:1130
const std::uint32_t PELIB_MAX_IMPORT_DLLS
Definition: PeLibAux.h:152
const std::uint32_t PELIB_SECTOR_SIZE
Definition: PeLibAux.h:158
bool isEqualNc(const std::string &s1, const std::string &s2)
Definition: PeLibAux.cpp:271
@ PELIB_IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE
Definition: PeLibAux.h:308
@ PELIB_IMAGE_DLLCHARACTERISTICS_GUARD_CF
Definition: PeLibAux.h:307
@ PELIB_IMAGE_DLLCHARACTERISTICS_NX_COMPAT
Definition: PeLibAux.h:301
@ PELIB_IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
Definition: PeLibAux.h:299
@ PELIB_IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY
Definition: PeLibAux.h:300
@ PELIB_IMAGE_DLLCHARACTERISTICS_NO_BIND
Definition: PeLibAux.h:304
@ PELIB_IMAGE_DLLCHARACTERISTICS_NO_SEH
Definition: PeLibAux.h:303
@ PELIB_IMAGE_DLLCHARACTERISTICS_NO_ISOLATION
Definition: PeLibAux.h:302
@ PELIB_IMAGE_DLLCHARACTERISTICS_APPCONTAINER
Definition: PeLibAux.h:305
@ PELIB_IMAGE_DLLCHARACTERISTICS_WDM_DRIVER
Definition: PeLibAux.h:306
const unsigned int PELIB_IMAGE_SIZEOF_BASE_RELOCATION
Definition: PeLibAux.h:995
PELIB_IMAGE_FILE_MACHINE
Definition: PeLibAux.h:240
@ PELIB_IMAGE_FILE_MACHINE_POWERPC
Definition: PeLibAux.h:260
@ PELIB_IMAGE_FILE_MACHINE_IA64
Definition: PeLibAux.h:262
@ PELIB_IMAGE_FILE_MACHINE_R3000_LITTLE
Definition: PeLibAux.h:246
@ PELIB_IMAGE_FILE_MACHINE_POWERPCFP
Definition: PeLibAux.h:261
@ PELIB_IMAGE_FILE_MACHINE_EBC
Definition: PeLibAux.h:271
@ PELIB_IMAGE_FILE_MACHINE_ARM
Definition: PeLibAux.h:256
@ PELIB_IMAGE_FILE_MACHINE_MIPSFPU
Definition: PeLibAux.h:268
@ PELIB_IMAGE_FILE_MACHINE_AM33
Definition: PeLibAux.h:259
@ PELIB_IMAGE_FILE_MACHINE_SH3DSP
Definition: PeLibAux.h:252
@ PELIB_IMAGE_FILE_MACHINE_PENTIUM
Definition: PeLibAux.h:244
@ PELIB_IMAGE_FILE_MACHINE_ALPHA
Definition: PeLibAux.h:250
@ PELIB_IMAGE_FILE_MACHINE_THUMB
Definition: PeLibAux.h:257
@ PELIB_IMAGE_FILE_MACHINE_AXP64
Definition: PeLibAux.h:267
@ PELIB_IMAGE_FILE_MACHINE_TRICORE
Definition: PeLibAux.h:270
@ PELIB_IMAGE_FILE_MACHINE_R4000
Definition: PeLibAux.h:247
@ PELIB_IMAGE_FILE_MACHINE_WCEMIPSV2
Definition: PeLibAux.h:249
@ PELIB_IMAGE_FILE_MACHINE_R10000
Definition: PeLibAux.h:248
@ PELIB_IMAGE_FILE_MACHINE_PARISC
Definition: PeLibAux.h:265
@ PELIB_IMAGE_FILE_MACHINE_MOTOROLA68000
Definition: PeLibAux.h:264
@ PELIB_IMAGE_FILE_MACHINE_ARMNT
Definition: PeLibAux.h:258
@ PELIB_IMAGE_FILE_MACHINE_R3000_BIG
Definition: PeLibAux.h:245
@ PELIB_IMAGE_FILE_MACHINE_MSIL
Definition: PeLibAux.h:275
@ PELIB_IMAGE_FILE_MACHINE_ALPHA64
Definition: PeLibAux.h:266
@ PELIB_IMAGE_FILE_MACHINE_SH3E
Definition: PeLibAux.h:253
@ PELIB_IMAGE_FILE_MACHINE_SH3
Definition: PeLibAux.h:251
@ PELIB_IMAGE_FILE_MACHINE_I486
Definition: PeLibAux.h:243
@ PELIB_IMAGE_FILE_MACHINE_I386
Definition: PeLibAux.h:242
@ PELIB_IMAGE_FILE_MACHINE_SH4
Definition: PeLibAux.h:254
@ PELIB_IMAGE_FILE_MACHINE_AMD64
Definition: PeLibAux.h:272
@ PELIB_IMAGE_FILE_MACHINE_MIPSFPU16
Definition: PeLibAux.h:269
@ PELIB_IMAGE_FILE_MACHINE_UNKNOWN
Definition: PeLibAux.h:241
@ PELIB_IMAGE_FILE_MACHINE_MIPS16
Definition: PeLibAux.h:263
@ PELIB_IMAGE_FILE_MACHINE_M32R
Definition: PeLibAux.h:273
@ PELIB_IMAGE_FILE_MACHINE_SH5
Definition: PeLibAux.h:255
@ PELIB_IMAGE_FILE_MACHINE_ARM64
Definition: PeLibAux.h:274
const std::uint32_t PELIB_IMAGE_RESOURCE_DATA_IS_DIRECTORY
Definition: PeLibAux.h:162
const std::size_t IMPORT_SYMBOL_MAX_LENGTH
Definition: PeLibAux.h:1131
const std::uint32_t PELIB_IMAGE_RESOURCE_RVA_MASK
Definition: PeLibAux.h:164
@ PELIB_IMAGE_SUBSYSTEM_OS2_CUI
Definition: PeLibAux.h:324
@ PELIB_IMAGE_SUBSYSTEM_NATIVE_WINDOWS
Definition: PeLibAux.h:326
@ PELIB_IMAGE_SUBSYSTEM_WINDOWS_CUI
Definition: PeLibAux.h:323
@ PELIB_IMAGE_SUBSYSTEM_POSIX_CUI
Definition: PeLibAux.h:325
@ PELIB_IMAGE_SUBSYSTEM_WINDOWS_GUI
Definition: PeLibAux.h:322
@ PELIB_IMAGE_SUBSYSTEM_UNKNOWN
Definition: PeLibAux.h:320
@ PELIB_IMAGE_SUBSYSTEM_NATIVE
Definition: PeLibAux.h:321
@ PELIB_IMAGE_SUBSYSTEM_WINDOWS_CE_GUI
Definition: PeLibAux.h:327
const std::uint32_t PELIB_IMAGE_RESOURCE_NAME_IS_STRING
Definition: PeLibAux.h:163
const std::uint32_t PELIB_SIZE_10MB
Definition: PeLibAux.h:145
const std::size_t COFF_SYMBOL_NAME_MAX_LENGTH
Definition: PeLibAux.h:1245
@ PELIB_PAGE_WRITECOPY
Definition: PeLibAux.h:191
@ PELIB_PAGE_EXECUTE_READ
Definition: PeLibAux.h:193
@ PELIB_PAGE_EXECUTE
Definition: PeLibAux.h:192
@ PELIB_PAGE_NOACCESS
Definition: PeLibAux.h:188
@ PELIB_PAGE_READWRITE
Definition: PeLibAux.h:190
@ PELIB_PAGE_EXECUTE_READWRITE
Definition: PeLibAux.h:194
@ PELIB_PAGE_EXECUTE_WRITECOPY
Definition: PeLibAux.h:195
@ PELIB_PAGE_READONLY
Definition: PeLibAux.h:189
const unsigned int PELIB_IMAGE_SIZEOF_COFF_SYMBOL
Definition: PeLibAux.h:1244
const std::uint32_t PELIB_MM_SIZE_OF_LARGEST_IMAGE
Definition: PeLibAux.h:149
@ PELIB_WIN_CERT_REVISION_2_0
Definition: PeLibAux.h:1483
@ PELIB_WIN_CERT_REVISION_1_0
Definition: PeLibAux.h:1482
@ PELIB_IMAGE_SCN_LNK_OTHER
Definition: PeLibAux.h:204
@ PELIB_IMAGE_SCN_MEM_PRELOAD
Definition: PeLibAux.h:214
@ PELIB_IMAGE_SCN_ALIGN_4096BYTES
Definition: PeLibAux.h:227
@ PELIB_IMAGE_SCN_ALIGN_BYTES
Definition: PeLibAux.h:220
@ PELIB_IMAGE_SCN_CNT_CODE
Definition: PeLibAux.h:201
@ PELIB_IMAGE_SCN_MEM_LOCKED
Definition: PeLibAux.h:213
@ PELIB_IMAGE_SCN_ALIGN_1BYTES
Definition: PeLibAux.h:215
@ PELIB_IMAGE_SCN_MEM_NOT_PAGED
Definition: PeLibAux.h:232
@ PELIB_IMAGE_SCN_ALIGN_256BYTES
Definition: PeLibAux.h:223
@ PELIB_IMAGE_SCN_LNK_NRELOC_OVFL
Definition: PeLibAux.h:229
@ PELIB_IMAGE_SCN_ALIGN_1024BYTES
Definition: PeLibAux.h:225
@ PELIB_IMAGE_SCN_NO_DEFER_SPEC_EXC
Definition: PeLibAux.h:208
@ PELIB_IMAGE_SCN_ALIGN_8192BYTES
Definition: PeLibAux.h:228
@ PELIB_IMAGE_SCN_ALIGN_16BYTES
Definition: PeLibAux.h:219
@ PELIB_IMAGE_SCN_ALIGN_512BYTES
Definition: PeLibAux.h:224
@ PELIB_IMAGE_SCN_MEM_FARDATA
Definition: PeLibAux.h:210
@ PELIB_IMAGE_SCN_ALIGN_128BYTES
Definition: PeLibAux.h:222
@ PELIB_IMAGE_SCN_ALIGN_8BYTES
Definition: PeLibAux.h:218
@ PELIB_IMAGE_SCN_MEM_PURGEABLE
Definition: PeLibAux.h:211
@ PELIB_IMAGE_SCN_ALIGN_2048BYTES
Definition: PeLibAux.h:226
@ PELIB_IMAGE_SCN_CNT_UNINITIALIZED_DATA
Definition: PeLibAux.h:203
@ PELIB_IMAGE_SCN_MEM_EXECUTE
Definition: PeLibAux.h:234
@ PELIB_IMAGE_SCN_LNK_REMOVE
Definition: PeLibAux.h:206
@ PELIB_IMAGE_SCN_CNT_INITIALIZED_DATA
Definition: PeLibAux.h:202
@ PELIB_IMAGE_SCN_LNK_COMDAT
Definition: PeLibAux.h:207
@ PELIB_IMAGE_SCN_ALIGN_2BYTES
Definition: PeLibAux.h:216
@ PELIB_IMAGE_SCN_GPREL
Definition: PeLibAux.h:209
@ PELIB_IMAGE_SCN_MEM_16BIT
Definition: PeLibAux.h:212
@ PELIB_IMAGE_SCN_LNK_INFO
Definition: PeLibAux.h:205
@ PELIB_IMAGE_SCN_MEM_DISCARDABLE
Definition: PeLibAux.h:230
@ PELIB_IMAGE_SCN_MEM_READ
Definition: PeLibAux.h:235
@ PELIB_IMAGE_SCN_MEM_NOT_CACHED
Definition: PeLibAux.h:231
@ PELIB_IMAGE_SCN_MEM_WRITE
Definition: PeLibAux.h:236
@ PELIB_IMAGE_SCN_TYPE_NO_PAD
Definition: PeLibAux.h:200
@ PELIB_IMAGE_SCN_ALIGN_4BYTES
Definition: PeLibAux.h:217
@ PELIB_IMAGE_SCN_ALIGN_64BYTES
Definition: PeLibAux.h:221
@ PELIB_IMAGE_SCN_MEM_SHARED
Definition: PeLibAux.h:233
const std::uint32_t PELIB_DELAY_ATTRIBUTE_V2
Definition: PeLibAux.h:1399
const std::uint32_t PELIB_PAGE_SIZE
Definition: PeLibAux.h:139
std::uint64_t fileSize(const std::string &filename)
Definition: PeLibAux.cpp:138
@ PEFILE_UNKNOWN
Definition: PeLibAux.h:134
@ PEFILE32
Definition: PeLibAux.h:132
@ PEFILE64
Definition: PeLibAux.h:133
const std::uint32_t PE_MAX_SECTION_COUNT_XP
Definition: PeLibAux.h:155
const std::uint32_t PE_MAX_SECTION_COUNT_7
Definition: PeLibAux.h:156
const std::uint32_t PELIB_PAGE_SIZE_SHIFT
Definition: PeLibAux.h:141
const unsigned int PELIB_IMAGE_SIZEOF_SHORT_NAME
Definition: PeLibAux.h:775
const std::uint32_t PELIB_MAX_TLS_CALLBACKS
Definition: PeLibAux.h:151
const std::uint32_t PELIB_MAX_EXPORTED_FUNCTIONS
Definition: PeLibAux.h:154
const unsigned int PELIB_IMAGE_SIZEOF_MAX_NAME
Definition: PeLibAux.h:776
const std::uint32_t PELIB_SIZE_64KB
Definition: PeLibAux.h:143
const std::uint32_t PELIB_MAX_IMPORTED_FUNCTIONS
Definition: PeLibAux.h:153
errorCodes
Definition: PeLibAux.h:32
@ ERROR_DIRECTORY_DOES_NOT_EXIST
Definition: PeLibAux.h:42
@ ERROR_NOT_ENOUGH_SPACE
Definition: PeLibAux.h:37
@ ERROR_NONE
Definition: PeLibAux.h:33
@ ERROR_TOO_MANY_SECTIONS
Definition: PeLibAux.h:36
@ ERROR_NO_FILE_ALIGNMENT
Definition: PeLibAux.h:38
@ ERROR_NO_SECTION_ALIGNMENT
Definition: PeLibAux.h:39
@ ERROR_COFF_SYMBOL_TABLE_DOES_NOT_EXIST
Definition: PeLibAux.h:43
@ ERROR_DUPLICATE_ENTRY
Definition: PeLibAux.h:41
@ ERROR_OPENING_FILE
Definition: PeLibAux.h:34
@ ERROR_INVALID_FILE
Definition: PeLibAux.h:35
@ ERROR_ENTRY_NOT_FOUND
Definition: PeLibAux.h:40
@ PELIB_RT_GROUP_ICON
Definition: PeLibAux.h:356
@ PELIB_RT_MENU
Definition: PeLibAux.h:347
@ PELIB_RT_VXD
Definition: PeLibAux.h:360
@ PELIB_RT_MESSAGETABLE
Definition: PeLibAux.h:354
@ PELIB_RT_PLUGPLAY
Definition: PeLibAux.h:359
@ PELIB_RT_FONTDIR
Definition: PeLibAux.h:350
@ PELIB_RT_RCDATA
Definition: PeLibAux.h:353
@ PELIB_RT_STRING
Definition: PeLibAux.h:349
@ PELIB_RT_DLGINCLUDE
Definition: PeLibAux.h:358
@ PELIB_RT_HTML
Definition: PeLibAux.h:363
@ PELIB_RT_MANIFEST
Definition: PeLibAux.h:364
@ PELIB_RT_ANIICON
Definition: PeLibAux.h:362
@ PELIB_RT_FONT
Definition: PeLibAux.h:351
@ PELIB_RT_CURSOR
Definition: PeLibAux.h:344
@ PELIB_RT_ICON
Definition: PeLibAux.h:346
@ PELIB_RT_ACCELERATOR
Definition: PeLibAux.h:352
@ PELIB_RT_VERSION
Definition: PeLibAux.h:357
@ PELIB_RT_GROUP_CURSOR
Definition: PeLibAux.h:355
@ PELIB_RT_BITMAP
Definition: PeLibAux.h:345
@ PELIB_RT_DIALOG
Definition: PeLibAux.h:348
@ PELIB_RT_TOOLBAR
Definition: PeLibAux.h:366
@ PELIB_RT_DLGINIT
Definition: PeLibAux.h:365
@ PELIB_RT_ANICURSOR
Definition: PeLibAux.h:361
bool isPrintable(const std::string &str)
Checks if the string is printable.
Definition: string.cpp:945
Definition: PeLibAux.h:1152
std::vector< std::uint16_t > vRelocData
Definition: PeLibAux.h:1154
PELIB_IMAGE_BASE_RELOCATION ibrRelocation
Definition: PeLibAux.h:1153
Definition: PeLibAux.h:120
const char * loaderErrorUserFriendly
Definition: PeLibAux.h:122
bool loadableAnyway
Definition: PeLibAux.h:123
const char * loaderErrorString
Definition: PeLibAux.h:121
Definition: PeLibAux.h:1091
PELIB_DELAY_IMPORT()
Definition: PeLibAux.h:1096
std::string fname
Definition: PeLibAux.h:1094
std::uint16_t hint
Definition: PeLibAux.h:1093
std::uint64_t address
Definition: PeLibAux.h:1092
Definition: PeLibAux.h:1007
std::uint32_t VirtualAddress
Definition: PeLibAux.h:1008
std::uint32_t SizeOfBlock
Definition: PeLibAux.h:1009
PELIB_IMAGE_BASE_RELOCATION()
Definition: PeLibAux.h:1011
static std::size_t size()
Definition: PeLibAux.h:1017
Definition: PeLibAux.h:938
std::string strModuleName
Name of the imported file.
Definition: PeLibAux.h:940
std::vector< PELIB_IMAGE_BOUND_DIRECTORY > moduleForwarders
Definition: PeLibAux.h:941
PELIB_IMAGE_BOUND_IMPORT_DESCRIPTOR ibdDescriptor
Information about the imported file.
Definition: PeLibAux.h:939
bool equal(const std::string strModuleName2) const
Compares the passed filename to the struct's filename.
Definition: PeLibAux.cpp:378
std::size_t size() const
Definition: PeLibAux.cpp:388
Definition: PeLibAux.h:918
std::uint16_t NumberOfModuleForwarderRefs
Definition: PeLibAux.h:921
static std::size_t size()
Definition: PeLibAux.h:930
std::uint32_t TimeDateStamp
Definition: PeLibAux.h:919
PELIB_IMAGE_BOUND_IMPORT_DESCRIPTOR()
Definition: PeLibAux.h:923
std::uint16_t OffsetModuleName
Definition: PeLibAux.h:920
Definition: PeLibAux.h:1495
std::uint16_t Revision
Definition: PeLibAux.h:1497
std::uint32_t Length
Definition: PeLibAux.h:1496
std::uint16_t CertificateType
Definition: PeLibAux.h:1498
static unsigned int size()
Definition: PeLibAux.h:1501
std::vector< unsigned char > Certificate
Definition: PeLibAux.h:1499
Definition: PeLibAux.h:1248
std::string Name
Definition: PeLibAux.h:1250
std::uint8_t TypeComplex
Definition: PeLibAux.h:1253
std::uint8_t NumberOfAuxSymbols
Definition: PeLibAux.h:1256
std::uint8_t TypeSimple
Definition: PeLibAux.h:1254
PELIB_IMAGE_COFF_SYMBOL()
Definition: PeLibAux.h:1258
std::uint16_t SectionNumber
Definition: PeLibAux.h:1252
std::uint8_t StorageClass
Definition: PeLibAux.h:1255
std::uint32_t Value
Definition: PeLibAux.h:1251
std::uint32_t Index
Definition: PeLibAux.h:1249
Definition: PeLibAux.h:614
static std::size_t size()
Definition: PeLibAux.h:624
std::uint32_t Size
Definition: PeLibAux.h:616
PELIB_IMAGE_DATA_DIRECTORY()
Definition: PeLibAux.h:618
std::uint32_t VirtualAddress
Definition: PeLibAux.h:615
Definition: PeLibAux.h:1158
std::uint32_t PointerToRawData
Definition: PeLibAux.h:1166
PELIB_IMAGE_DEBUG_DIRECTORY()
Definition: PeLibAux.cpp:362
std::uint32_t Characteristics
Definition: PeLibAux.h:1159
static std::size_t size()
Definition: PeLibAux.h:1168
std::uint16_t MinorVersion
Definition: PeLibAux.h:1162
std::uint16_t MajorVersion
Definition: PeLibAux.h:1161
std::uint32_t TimeDateStamp
Definition: PeLibAux.h:1160
std::uint32_t AddressOfRawData
Definition: PeLibAux.h:1165
std::uint32_t SizeOfData
Definition: PeLibAux.h:1164
std::uint32_t Type
Definition: PeLibAux.h:1163
Definition: PeLibAux.h:1402
bool hasOrdinalNumbers
Definition: PeLibAux.h:1405
~PELIB_IMAGE_DELAY_IMPORT_DIRECTORY_RECORD()
Definition: PeLibAux.h:1417
void init()
Definition: PeLibAux.h:1422
std::vector< PELIB_DELAY_IMPORT > Functions
Definition: PeLibAux.h:1406
PELIB_DELAY_IMPORT * getFunction(std::size_t index)
Definition: PeLibAux.h:1454
const PELIB_DELAY_IMPORT * getFunction(std::size_t index) const
Definition: PeLibAux.h:1449
std::vector< PELIB_DELAY_IMPORT >::const_iterator DelayImportIterator
Definition: PeLibAux.h:1404
auto getNumberOfFunctions() const
Definition: PeLibAux.h:1444
DelayImportIterator begin()
Definition: PeLibAux.h:1464
DelayImportIterator end()
Definition: PeLibAux.h:1474
auto ordinalNumbersAreValid() const
Definition: PeLibAux.h:1439
std::string Name
Definition: PeLibAux.h:1410
void addFunction(const PELIB_DELAY_IMPORT &function)
Definition: PeLibAux.h:1430
PELIB_IMAGE_DELAY_LOAD_DESCRIPTOR delayedImport
Definition: PeLibAux.h:1409
const DelayImportIterator begin() const
Definition: PeLibAux.h:1459
PELIB_IMAGE_DELAY_IMPORT_DIRECTORY_RECORD()
Definition: PeLibAux.h:1412
const DelayImportIterator end() const
Definition: PeLibAux.h:1469
Definition: PeLibAux.h:1388
std::uint32_t BoundDelayImportTableRva
Definition: PeLibAux.h:1394
std::uint32_t DelayImportAddressTableRva
Definition: PeLibAux.h:1392
std::uint32_t ModuleHandleRva
Definition: PeLibAux.h:1391
std::uint32_t TimeStamp
Definition: PeLibAux.h:1396
std::uint32_t Attributes
Definition: PeLibAux.h:1389
std::uint32_t NameRva
Definition: PeLibAux.h:1390
std::uint32_t UnloadDelayImportTableRva
Definition: PeLibAux.h:1395
std::uint32_t DelayImportNameTableRva
Definition: PeLibAux.h:1393
Definition: PeLibAux.h:883
std::uint16_t MinorVersion
Definition: PeLibAux.h:887
static std::size_t size()
Definition: PeLibAux.h:911
std::uint32_t AddressOfFunctions
Definition: PeLibAux.h:892
std::uint32_t NumberOfNames
Definition: PeLibAux.h:891
std::uint32_t NumberOfFunctions
Definition: PeLibAux.h:890
std::uint32_t Base
Definition: PeLibAux.h:889
std::uint32_t AddressOfNames
Definition: PeLibAux.h:893
PELIB_IMAGE_EXPORT_DIRECTORY()
Definition: PeLibAux.h:896
std::uint32_t TimeDateStamp
Definition: PeLibAux.h:885
std::uint32_t Characteristics
Definition: PeLibAux.h:884
std::uint32_t AddressOfNameOrdinals
Definition: PeLibAux.h:894
std::uint32_t Name
Definition: PeLibAux.h:888
std::uint16_t MajorVersion
Definition: PeLibAux.h:886
Definition: PeLibAux.h:1041
std::size_t size() const
Definition: PeLibAux.h:1048
std::vector< PELIB_EXP_FUNC_INFORMATION > functions
Definition: PeLibAux.h:1046
std::string name
The original filename of current file.
Definition: PeLibAux.h:1045
PELIB_IMAGE_EXPORT_DIRECTORY ied
The IMAGE_EXPORTED_DIRECTORY of a file's export table.
Definition: PeLibAux.h:1043
Definition: PeLibAux.h:863
std::uint32_t ForwarderChain
Definition: PeLibAux.h:866
static std::size_t size()
Definition: PeLibAux.h:879
PELIB_IMAGE_IMPORT_DESCRIPTOR()
Definition: PeLibAux.h:870
std::uint32_t TimeDateStamp
Definition: PeLibAux.h:865
std::uint32_t Name
Definition: PeLibAux.h:867
std::uint32_t OriginalFirstThunk
Definition: PeLibAux.h:864
std::uint32_t FirstThunk
Definition: PeLibAux.h:868
Definition: PeLibAux.h:1105
std::uint32_t calculateSize(std::uint32_t pointerSize) const
Definition: PeLibAux.h:1115
std::vector< PELIB_THUNK_DATA > originalfirstthunk
All original first thunk values of an imported DLL.
Definition: PeLibAux.h:1111
bool operator==(std::string strFilename) const
Definition: PeLibAux.h:1124
std::vector< PELIB_THUNK_DATA > firstthunk
All first thunk value of an imported DLL.
Definition: PeLibAux.h:1113
std::string name
The name of an imported DLL.
Definition: PeLibAux.h:1109
PELIB_IMAGE_IMPORT_DESCRIPTOR impdesc
The IMAGE_IMPORT_DESCRIPTOR of an imported DLL.
Definition: PeLibAux.h:1107
Definition: PeLibAux.h:1281
std::uint32_t CatalogOffset
Definition: PeLibAux.h:1284
std::uint16_t Flags
Definition: PeLibAux.h:1282
std::uint16_t Catalog
Definition: PeLibAux.h:1283
std::uint32_t Reserved
Definition: PeLibAux.h:1285
Definition: PeLibAux.h:1290
std::uint32_t GuardLongJumpTargetCount
Definition: PeLibAux.h:1320
std::uint32_t SEHandlerCount
Definition: PeLibAux.h:1310
std::uint16_t DynamicValueRelocTableSection
Definition: PeLibAux.h:1326
std::uint32_t DynamicValueRelocTableOffset
Definition: PeLibAux.h:1325
std::uint32_t Reserved3
Definition: PeLibAux.h:1330
std::uint32_t GuardCFDispatchFunctionPointer
Definition: PeLibAux.h:1312
std::uint32_t MaximumAllocationSize
Definition: PeLibAux.h:1301
std::uint32_t GuardRFVerifyStackPointerFunctionPointer
Definition: PeLibAux.h:1328
std::uint32_t ProcessAffinityMask
Definition: PeLibAux.h:1304
std::uint32_t DeCommitFreeBlockThreshold
Definition: PeLibAux.h:1298
std::uint32_t SecurityCookie
Definition: PeLibAux.h:1308
std::uint32_t Size
Definition: PeLibAux.h:1291
std::uint32_t ProcessHeapFlags
Definition: PeLibAux.h:1303
std::uint32_t GlobalFlagsSet
Definition: PeLibAux.h:1296
std::uint32_t VolatileMetadataPointer
Definition: PeLibAux.h:1332
std::uint32_t GuardAddressTakenIatEntryCount
Definition: PeLibAux.h:1318
std::uint32_t GuardCFCheckFunctionPointer
Definition: PeLibAux.h:1311
std::uint32_t EditList
Definition: PeLibAux.h:1307
std::uint16_t DependentLoadFlags
Definition: PeLibAux.h:1306
std::uint32_t GuardEHContinuationCount
Definition: PeLibAux.h:1334
std::uint16_t CSDVersion
Definition: PeLibAux.h:1305
std::uint16_t MajorVersion
Definition: PeLibAux.h:1293
std::uint16_t MinorVersion
Definition: PeLibAux.h:1294
std::uint32_t SEHandlerTable
Definition: PeLibAux.h:1309
std::uint32_t GuardCFFunctionCount
Definition: PeLibAux.h:1314
std::uint32_t GuardFlags
Definition: PeLibAux.h:1315
std::uint32_t LockPrefixTable
Definition: PeLibAux.h:1300
std::uint16_t Reserved2
Definition: PeLibAux.h:1327
std::uint32_t EnclaveConfigurationPointer
Definition: PeLibAux.h:1331
std::uint32_t CriticalSectionDefaultTimeout
Definition: PeLibAux.h:1297
std::uint32_t GuardRFFailureRoutineFunctionPointer
Definition: PeLibAux.h:1324
PELIB_IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity
Definition: PeLibAux.h:1316
std::uint32_t GuardCFFunctionTable
Definition: PeLibAux.h:1313
std::uint32_t CHPEMetadataPointer
Definition: PeLibAux.h:1322
std::uint32_t GuardLongJumpTargetTable
Definition: PeLibAux.h:1319
std::uint32_t VirtualMemoryThreshold
Definition: PeLibAux.h:1302
std::uint32_t DeCommitTotalFreeThreshold
Definition: PeLibAux.h:1299
std::uint32_t GlobalFlagsClear
Definition: PeLibAux.h:1295
std::uint32_t GuardAddressTakenIatEntryTable
Definition: PeLibAux.h:1317
std::uint32_t GuardEHContinuationTable
Definition: PeLibAux.h:1333
std::uint32_t GuardRFFailureRoutine
Definition: PeLibAux.h:1323
std::uint32_t TimeDateStamp
Definition: PeLibAux.h:1292
std::uint32_t HotPatchTableOffset
Definition: PeLibAux.h:1329
std::uint32_t DynamicValueRelocTable
Definition: PeLibAux.h:1321
Definition: PeLibAux.h:1338
PELIB_IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity
Definition: PeLibAux.h:1364
std::uint32_t Size
Definition: PeLibAux.h:1339
std::uint64_t ProcessAffinityMask
Definition: PeLibAux.h:1351
std::uint64_t GuardCFFunctionTable
Definition: PeLibAux.h:1361
std::uint64_t GuardAddressTakenIatEntryCount
Definition: PeLibAux.h:1366
std::uint64_t LockPrefixTable
Definition: PeLibAux.h:1348
std::uint64_t MaximumAllocationSize
Definition: PeLibAux.h:1349
std::uint64_t EditList
Definition: PeLibAux.h:1355
std::uint16_t CSDVersion
Definition: PeLibAux.h:1353
std::uint64_t SecurityCookie
Definition: PeLibAux.h:1356
std::uint16_t MajorVersion
Definition: PeLibAux.h:1341
std::uint64_t GuardEHContinuationTable
Definition: PeLibAux.h:1381
std::uint64_t GuardRFFailureRoutine
Definition: PeLibAux.h:1371
std::uint32_t Reserved3
Definition: PeLibAux.h:1378
std::uint64_t SEHandlerTable
Definition: PeLibAux.h:1357
std::uint32_t CriticalSectionDefaultTimeout
Definition: PeLibAux.h:1345
std::uint64_t DeCommitFreeBlockThreshold
Definition: PeLibAux.h:1346
std::uint32_t ProcessHeapFlags
Definition: PeLibAux.h:1352
std::uint64_t GuardRFVerifyStackPointerFunctionPointer
Definition: PeLibAux.h:1376
std::uint32_t GuardFlags
Definition: PeLibAux.h:1363
std::uint16_t DependentLoadFlags
Definition: PeLibAux.h:1354
std::uint64_t GuardEHContinuationCount
Definition: PeLibAux.h:1382
std::uint16_t Reserved2
Definition: PeLibAux.h:1375
std::uint32_t GlobalFlagsClear
Definition: PeLibAux.h:1343
std::uint32_t DynamicValueRelocTableOffset
Definition: PeLibAux.h:1373
std::uint64_t DynamicValueRelocTable
Definition: PeLibAux.h:1369
std::uint64_t GuardCFDispatchFunctionPointer
Definition: PeLibAux.h:1360
std::uint64_t GuardLongJumpTargetTable
Definition: PeLibAux.h:1367
std::uint64_t GuardAddressTakenIatEntryTable
Definition: PeLibAux.h:1365
std::uint64_t SEHandlerCount
Definition: PeLibAux.h:1358
std::uint64_t GuardRFFailureRoutineFunctionPointer
Definition: PeLibAux.h:1372
std::uint32_t HotPatchTableOffset
Definition: PeLibAux.h:1377
std::uint64_t CHPEMetadataPointer
Definition: PeLibAux.h:1370
std::uint64_t GuardCFFunctionCount
Definition: PeLibAux.h:1362
std::uint32_t TimeDateStamp
Definition: PeLibAux.h:1340
std::uint16_t DynamicValueRelocTableSection
Definition: PeLibAux.h:1374
std::uint64_t DeCommitTotalFreeThreshold
Definition: PeLibAux.h:1347
std::uint64_t VirtualMemoryThreshold
Definition: PeLibAux.h:1350
std::uint64_t GuardCFCheckFunctionPointer
Definition: PeLibAux.h:1359
std::uint64_t EnclaveConfigurationPointer
Definition: PeLibAux.h:1379
std::uint64_t GuardLongJumpTargetCount
Definition: PeLibAux.h:1368
std::uint16_t MinorVersion
Definition: PeLibAux.h:1342
std::uint32_t GlobalFlagsSet
Definition: PeLibAux.h:1344
std::uint64_t VolatileMetadataPointer
Definition: PeLibAux.h:1380
Definition: PeLibAux.h:1134
PELIB_IMAGE_RESOURCE_DATA_ENTRY()
Definition: PeLibAux.cpp:354
std::uint32_t Size
Definition: PeLibAux.h:1136
std::uint32_t OffsetToData
Definition: PeLibAux.h:1135
static unsigned int size()
Definition: PeLibAux.h:1140
std::uint32_t Reserved
Definition: PeLibAux.h:1138
std::uint32_t CodePage
Definition: PeLibAux.h:1137
Definition: PeLibAux.h:1146
PELIB_IMAGE_RESOURCE_DATA_ENTRY irdEntry
Definition: PeLibAux.h:1147
std::vector< std::uint8_t > vData
Definition: PeLibAux.h:1148
Definition: PeLibAux.h:986
std::uint32_t OffsetToData
Definition: PeLibAux.h:988
PELIB_IMAGE_RESOURCE_DIRECTORY_ENTRY()
Definition: PeLibAux.cpp:305
static std::size_t size()
Definition: PeLibAux.h:992
std::uint32_t Name
Definition: PeLibAux.h:987
Definition: PeLibAux.h:972
std::uint16_t NumberOfIdEntries
Definition: PeLibAux.h:978
std::uint16_t MajorVersion
Definition: PeLibAux.h:975
std::uint32_t TimeDateStamp
Definition: PeLibAux.h:974
std::uint32_t Characteristics
Definition: PeLibAux.h:973
static std::size_t size()
Definition: PeLibAux.h:982
PELIB_IMAGE_RESOURCE_DIRECTORY()
Definition: PeLibAux.cpp:295
std::uint16_t MinorVersion
Definition: PeLibAux.h:976
std::uint16_t NumberOfNamedEntries
Definition: PeLibAux.h:977
Definition: PeLibAux.h:853
PELIB_IMAGE_THUNK_DATA()
Definition: PeLibAux.h:856
std::uint64_t Ordinal
Definition: PeLibAux.h:854
Definition: PeLibAux.h:1180
std::uint32_t StartAddressOfRawData
Definition: PeLibAux.h:1181
std::uint32_t Characteristics
Definition: PeLibAux.h:1186
std::uint32_t SizeOfZeroFill
Definition: PeLibAux.h:1185
std::uint32_t AddressOfIndex
Definition: PeLibAux.h:1183
std::uint32_t EndAddressOfRawData
Definition: PeLibAux.h:1182
std::uint32_t AddressOfCallBacks
Definition: PeLibAux.h:1184
Definition: PeLibAux.h:1190
std::uint64_t StartAddressOfRawData
Definition: PeLibAux.h:1191
std::uint32_t SizeOfZeroFill
Definition: PeLibAux.h:1195
std::uint32_t Characteristics
Definition: PeLibAux.h:1196
PELIB_IMAGE_TLS_DIRECTORY()
Definition: PeLibAux.h:1198
std::uint64_t AddressOfIndex
Definition: PeLibAux.h:1193
std::uint64_t EndAddressOfRawData
Definition: PeLibAux.h:1192
std::uint64_t AddressOfCallBacks
Definition: PeLibAux.h:1194
Definition: PeLibAux.h:1174
std::vector< std::uint8_t > data
Definition: PeLibAux.h:1176
PELIB_IMAGE_DEBUG_DIRECTORY idd
Definition: PeLibAux.h:1175
Definition: PeLibAux.h:998
std::string wstrName
Definition: PeLibAux.h:1000
PELIB_IMAGE_RESOURCE_DIRECTORY_ENTRY irde
Definition: PeLibAux.h:999
bool operator<(const PELIB_IMG_RES_DIR_ENTRY &first) const
Definition: PeLibAux.cpp:311
Definition: PeLibAux.h:1060
bool equalFunctionName(std::string strFunctionName) const
Definition: PeLibAux.h:1079
std::uint16_t hint
The hint of an imported function.
Definition: PeLibAux.h:1064
PELIB_THUNK_DATA()
Definition: PeLibAux.h:1068
PELIB_IMAGE_THUNK_DATA itd
The IMAGE_THUNK_DATA struct of an imported function.
Definition: PeLibAux.h:1062
bool equalHint(std::uint16_t wHint) const
Definition: PeLibAux.h:1073
std::uint32_t calculateSize(std::uint32_t pointerSize) const
Definition: PeLibAux.h:1084
std::string fname
The function name of an imported function.
Definition: PeLibAux.h:1066