7 #ifndef RETDEC_FILEFORMAT_FILE_FORMAT_FILE_FORMAT_H
8 #define RETDEC_FILEFORMAT_FILE_FORMAT_FILE_FORMAT_H
11 #include <initializer_list>
77 std::vector<unsigned char>
bytes;
96 std::vector<std::pair<std::string, std::string>>
anomalies;
124 std::size_t bytesPerWord = 4,
190 std::string
getMd5()
const;
211 bool getBytes(std::vector<std::uint8_t> &result,
unsigned long long offset,
unsigned long long numberOfBytes)
const;
212 bool getEpBytes(std::vector<std::uint8_t> &result,
unsigned long long numberOfBytes)
const;
213 bool getHexBytes(std::string &result,
unsigned long long offset,
unsigned long long numberOfBytes)
const;
214 bool getHexEpBytes(std::string &result,
unsigned long long numberOfBytes)
const;
216 bool getString(std::string &result,
unsigned long long offset,
unsigned long long numberOfBytes)
const;
217 bool getStringFromEnd(std::string &result,
unsigned long long numberOfBytes)
const;
259 const std::vector<Section*>
getSections(std::initializer_list<std::string> secs)
const;
261 const std::vector<Segment*>
getSegments(std::initializer_list<std::string> segs)
const;
265 const std::vector<unsigned char>&
getBytes()
const;
269 const std::vector<String>&
getStrings()
const;
272 const std::vector<std::pair<std::string,std::string>> &
getAnomalies()
const;
278 virtual bool getXBytes(std::uint64_t address, std::uint64_t x, std::vector<std::uint8_t> &res)
const override;
280 virtual bool setXBytes(std::uint64_t address,
const std::vector<std::uint8_t> &val)
override;
281 bool isPointer(
unsigned long long address, std::uint64_t* pointer =
nullptr)
const;
292 bool getXBytesOffset(std::uint64_t offset, std::uint64_t x, std::vector<std::uint8_t> &res)
const;
294 bool getNTBSOffset(std::uint64_t offset, std::string &res, std::size_t size = 0)
const;
295 bool getNTWSOffset(std::uint64_t offset, std::size_t width, std::vector<std::uint64_t> &res)
const;
327 void dump(std::string &dumpFile);
Array of bytes to std::istream abstraction.
Declaration of ByteValueStorage.
static const uint64_t Undefined
Definition: address.h:47
Definition: byte_value_storage.h:28
A mixin to make classes non-copyable.
Definition: non_copyable.h:27
Header file for fileformat types and structures.
Endianness
Definition: byte_value_storage.h:21
Definition: archive_wrapper.h:19
A mixin to make classes non-copyable.