7 #ifndef RETDEC_LOADER_RETDEC_LOADER_IMAGE_H
8 #define RETDEC_LOADER_RETDEC_LOADER_IMAGE_H
24 Image(
const std::shared_ptr<retdec::fileformat::FileFormat>& fileFormat);
42 virtual bool getXBytes(std::uint64_t address, std::uint64_t x, std::vector<std::uint8_t>& res)
const override;
45 virtual bool setXBytes(std::uint64_t address,
const std::vector<std::uint8_t>& res)
override;
52 const std::vector<std::unique_ptr<Segment>>&
getSegments()
const;
61 bool isPointer(std::uint64_t address, std::uint64_t* pointer =
nullptr)
const;
73 std::pair<const std::uint8_t*, std::uint64_t>
getRawSegmentData(std::uint64_t address)
const;
Declaration of ByteValueStorage.
const Segment * _getSegmentWithIndex(std::size_t index) const
Definition: image.cpp:496
virtual bool getXByte(std::uint64_t address, std::uint64_t x, std::uint64_t &res, retdec::utils::Endianness e=retdec::utils::Endianness::UNKNOWN) const override
Definition: image.cpp:331
std::pair< const std::uint8_t *, std::uint64_t > getRawSegmentData(std::uint64_t address) const
Definition: image.cpp:307
bool hasDataOnAddress(std::uint64_t address) const
Definition: image.cpp:140
const Segment * _getSegment(std::size_t index) const
Definition: image.cpp:477
Segment * getSegmentWithIndex(std::size_t index)
Definition: image.cpp:243
const retdec::fileformat::LoaderErrorInfo & getLoaderErrorInfo() const
Definition: image.cpp:433
std::uint64_t _baseAddress
Definition: image.h:94
void setBaseAddress(std::uint64_t baseAddress)
Definition: image.cpp:128
bool isPointer(std::uint64_t address, std::uint64_t *pointer=nullptr) const
Definition: image.cpp:409
void nameSegment(Segment *segment)
Definition: image.cpp:461
NameGenerator _namelessSegNameGen
Definition: image.h:95
virtual std::size_t getNumberOfNibblesInByte() const override
Definition: image.cpp:50
Image(const std::shared_ptr< retdec::fileformat::FileFormat > &fileFormat)
Definition: image.cpp:20
Segment * getSegmentFromAddress(std::uint64_t address)
Definition: image.cpp:267
virtual std::size_t getNibbleLength() const override
Definition: image.cpp:30
bool hasSegmentOnAddress(std::uint64_t address) const
Definition: image.cpp:183
std::string _statusMessage
Definition: image.h:96
virtual std::size_t getWordLength() const override
Definition: image.cpp:40
const std::string & getStatusMessage() const
Definition: image.cpp:423
virtual std::size_t getByteLength() const override
Definition: image.cpp:35
void sortSegments()
Definition: image.cpp:469
std::vector< std::unique_ptr< Segment > > _segments
Definition: image.h:93
Segment * getSegment(std::size_t index)
Definition: image.cpp:195
virtual bool getXBytes(std::uint64_t address, std::uint64_t x, std::vector< std::uint8_t > &res) const override
Definition: image.cpp:357
void removeSegment(Segment *segment)
Definition: image.cpp:449
std::shared_ptr< retdec::fileformat::FileFormat > _fileFormat
Definition: image.h:92
Segment * insertSegment(std::unique_ptr< Segment > segment)
Definition: image.cpp:438
retdec::fileformat::FileFormat * getFileFormat()
Definition: image.cpp:66
const Segment * getEpSegment()
Definition: image.cpp:289
virtual std::size_t getBytesPerWord() const override
Definition: image.cpp:45
std::uint64_t getBaseAddress() const
Definition: image.cpp:118
std::size_t getNumberOfSegments() const
Definition: image.cpp:98
virtual bool setXBytes(std::uint64_t address, const std::vector< std::uint8_t > &res) override
Definition: image.cpp:391
const std::vector< std::unique_ptr< Segment > > & getSegments() const
Definition: image.cpp:108
virtual bool setXByte(std::uint64_t address, std::uint64_t x, std::uint64_t val, retdec::utils::Endianness e=retdec::utils::Endianness::UNKNOWN) override
Definition: image.cpp:374
void setStatusMessage(const std::string &message)
Definition: image.cpp:428
virtual bool hasMixedEndianForDouble() const override
Definition: image.cpp:55
bool hasDataInitializedOnAddress(std::uint64_t address) const
Definition: image.cpp:153
virtual retdec::utils::Endianness getEndianness() const override
Definition: image.cpp:25
const Segment * _getSegmentFromAddress(std::uint64_t address) const
Definition: image.cpp:507
bool hasReadOnlyDataOnAddress(std::uint64_t address) const
Test if there are some read-only data on provided address – address belongs to some read-only section...
Definition: image.cpp:169
std::weak_ptr< retdec::fileformat::FileFormat > getFileFormatWptr() const
Definition: image.cpp:88
Definition: name_generator.h:22
Definition: byte_value_storage.h:28
Header file for fileformat types and structures.
Declaration of segment class.
Declaration of name generator.
Endianness
Definition: byte_value_storage.h:21
Definition: archive_wrapper.h:19