7 #ifndef FILEINFO_FILE_INFORMATION_FILE_INFORMATION_TYPES_FILE_SECTION_H
8 #define FILEINFO_FILE_INFORMATION_FILE_INFORMATION_TYPES_FILE_SECTION_H
30 unsigned long long index = std::numeric_limits<unsigned long long>::max();
31 unsigned long long offset = std::numeric_limits<unsigned long long>::max();
32 unsigned long long sizeInFile = std::numeric_limits<unsigned long long>::max();
33 unsigned long long entrySize = std::numeric_limits<unsigned long long>::max();
34 unsigned long long startAddress = std::numeric_limits<unsigned long long>::max();
35 unsigned long long sizeInMemory = std::numeric_limits<unsigned long long>::max();
40 unsigned long long memoryAlignment = std::numeric_limits<unsigned long long>::max();
41 unsigned long long linkToSection = std::numeric_limits<unsigned long long>::max();
42 unsigned long long extraInfo = std::numeric_limits<unsigned long long>::max();
43 unsigned long long lineOffset = std::numeric_limits<unsigned long long>::max();
45 double entropy = std::numeric_limits<double>::min();
53 std::string
getMd5()
const;
56 std::string
getOffsetStr(std::ios_base &(* format)(std::ios_base &))
const;
57 std::string
getSizeInFileStr(std::ios_base &(* format)(std::ios_base &))
const;
58 std::string
getEntrySizeStr(std::ios_base &(* format)(std::ios_base &))
const;
68 std::string
getLineOffsetStr(std::ios_base &(* format)(std::ios_base &))
const;
70 std::string
getEntropyStr(std::ios_base &(* format)(std::ios_base &))
const;
75 void getFlagsDescriptors(std::vector<std::string> &desc, std::vector<std::string> &abb)
const;
80 void setName(
const std::string & name);
82 void setCrc32(std::string sectionCrc32);
83 void setMd5(std::string sectionMd5);
84 void setSha256(std::string sectionSha256);
85 void setIndex(
unsigned long long sectionIndex);
86 void setOffset(
unsigned long long sectionOffset);
Definition: file_section.h:23
std::string getMemoryAlignmentStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: file_section.cpp:157
double entropy
section data entropy
Definition: file_section.h:45
void setCrc32(std::string sectionCrc32)
Definition: file_section.cpp:279
unsigned long long extraInfo
extra information about section
Definition: file_section.h:42
void setOffset(unsigned long long sectionOffset)
Definition: file_section.cpp:315
void setSizeInFile(unsigned long long size)
Definition: file_section.cpp:324
unsigned long long numberOfLineNumbers
number of line-number entries for this section
Definition: file_section.h:39
void setRelocationsLineOffset(unsigned long long relocOffset)
Definition: file_section.cpp:432
unsigned long long relocationsLineOffset
start line of relocation entries for this section
Definition: file_section.h:44
void setType(std::string type)
Definition: file_section.cpp:270
void setNumberOfRelocations(unsigned long long relocations)
Definition: file_section.cpp:369
void setName(const std::string &name)
Definition: file_section.cpp:261
std::string getNumberOfRelocationsStr() const
Definition: file_section.cpp:128
unsigned long long offset
offset in file
Definition: file_section.h:31
unsigned long long getFlags() const
Definition: file_section.cpp:222
unsigned long long startAddress
start address in memory
Definition: file_section.h:34
void setExtraInfo(unsigned long long extraInformation)
Definition: file_section.cpp:414
std::string getSizeInFileStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: file_section.cpp:81
std::string crc32
CRC32 of section content.
Definition: file_section.h:27
void setIndex(unsigned long long sectionIndex)
Definition: file_section.cpp:306
unsigned long long memoryAlignment
alignment in memory
Definition: file_section.h:40
unsigned long long sizeInMemory
size of section in memory
Definition: file_section.h:35
std::string getName() const
Definition: file_section.cpp:17
std::string getStartAddressStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: file_section.cpp:100
std::string getSha256() const
Definition: file_section.cpp:53
std::string getEntrySizeStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: file_section.cpp:90
std::string sectionName
name of section
Definition: file_section.h:25
unsigned long long numberOfRelocations
number of relocation entries for this section
Definition: file_section.h:37
std::string getEntropyStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: file_section.cpp:204
std::string getType() const
Definition: file_section.cpp:26
unsigned long long lineOffset
start line in file
Definition: file_section.h:43
std::string getMd5() const
Definition: file_section.cpp:44
void setLineNumbersOffset(unsigned long long lineNumOffset)
Definition: file_section.cpp:378
unsigned long long linkToSection
link to another section
Definition: file_section.h:41
std::string sha256
SHA256 of section content.
Definition: file_section.h:29
void clearFlagsDescriptors()
Definition: file_section.cpp:477
std::string getRelocationsLineOffsetStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: file_section.cpp:195
unsigned long long lineNumbersOffset
offset of line-number entries for this section
Definition: file_section.h:38
void setFlagsSize(unsigned long long flagsSize)
Definition: file_section.cpp:450
std::string sectionType
type of section
Definition: file_section.h:26
std::string getOffsetStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: file_section.cpp:72
unsigned long long relocationsOffset
offset of relocation entries for this section
Definition: file_section.h:36
void setNumberOfLineNumbers(unsigned long long lineNumbers)
Definition: file_section.cpp:387
unsigned long long entrySize
size of one entry in section
Definition: file_section.h:33
void getFlagsDescriptors(std::vector< std::string > &desc, std::vector< std::string > &abb) const
Definition: file_section.cpp:252
Flags flags
section flags
Definition: file_section.h:46
void setMd5(std::string sectionMd5)
Definition: file_section.cpp:288
std::string getSizeInMemoryStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: file_section.cpp:109
unsigned long long sizeInFile
size of section in file
Definition: file_section.h:32
void setLinkToAnotherSection(unsigned long long link)
Definition: file_section.cpp:405
std::size_t getNumberOfFlagsDescriptors() const
Definition: file_section.cpp:240
std::string getIndexStr() const
Definition: file_section.cpp:62
void setSha256(std::string sectionSha256)
Definition: file_section.cpp:297
std::string getNumberOfLineNumbersStr() const
Definition: file_section.cpp:147
std::string md5
MD5 of section content.
Definition: file_section.h:28
void setRelocationsOffset(unsigned long long relocOffset)
Definition: file_section.cpp:360
unsigned long long getFlagsSize() const
Definition: file_section.cpp:213
void setMemoryAlignment(unsigned long long alignment)
Definition: file_section.cpp:396
std::string getLineNumbersOffsetStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: file_section.cpp:138
void setFlags(unsigned long long flags)
Definition: file_section.cpp:459
std::string getLinkToAnotherSectionStr() const
Definition: file_section.cpp:166
void setEntropy(double entr)
Definition: file_section.cpp:441
std::string getFlagsStr() const
Definition: file_section.cpp:231
std::string getRelocationsOffsetStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: file_section.cpp:119
void addFlagsDescriptor(std::string descriptor, std::string abbreviation)
Definition: file_section.cpp:469
unsigned long long index
index of section
Definition: file_section.h:30
std::string getLineOffsetStr(std::ios_base &(*format)(std::ios_base &)) const
Definition: file_section.cpp:185
std::string getExtraInfoStr() const
Definition: file_section.cpp:175
std::string getCrc32() const
Definition: file_section.cpp:35
void setEntrySize(unsigned long long sizeOfOneEntry)
Definition: file_section.cpp:333
void setStartAddress(unsigned long long memoryAddress)
Definition: file_section.cpp:342
void setLineOffset(unsigned long long sectionOffset)
Definition: file_section.cpp:423
void setSizeInMemory(unsigned long long size)
Definition: file_section.cpp:351
Definition: archive_wrapper.h:19