|
| CoffImage (const std::shared_ptr< retdec::fileformat::FileFormat > &fileFormat) |
|
virtual bool | load () override |
|
| Image (const std::shared_ptr< retdec::fileformat::FileFormat > &fileFormat) |
|
virtual retdec::utils::Endianness | getEndianness () const override |
|
virtual std::size_t | getNibbleLength () const override |
|
virtual std::size_t | getByteLength () const override |
|
virtual std::size_t | getWordLength () const override |
|
virtual std::size_t | getBytesPerWord () const override |
|
virtual std::size_t | getNumberOfNibblesInByte () const override |
|
virtual bool | hasMixedEndianForDouble () const override |
|
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 |
|
virtual bool | getXBytes (std::uint64_t address, std::uint64_t x, std::vector< std::uint8_t > &res) const override |
|
virtual bool | setXByte (std::uint64_t address, std::uint64_t x, std::uint64_t val, retdec::utils::Endianness e=retdec::utils::Endianness::UNKNOWN) override |
|
virtual bool | setXBytes (std::uint64_t address, const std::vector< std::uint8_t > &res) override |
|
retdec::fileformat::FileFormat * | getFileFormat () |
|
const retdec::fileformat::FileFormat * | getFileFormat () const |
|
std::weak_ptr< retdec::fileformat::FileFormat > | getFileFormatWptr () const |
|
std::size_t | getNumberOfSegments () const |
|
const std::vector< std::unique_ptr< Segment > > & | getSegments () const |
|
std::uint64_t | getBaseAddress () const |
|
void | setBaseAddress (std::uint64_t baseAddress) |
|
bool | hasDataOnAddress (std::uint64_t address) const |
|
bool | hasDataInitializedOnAddress (std::uint64_t address) const |
|
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 or segment. More...
|
|
bool | hasSegmentOnAddress (std::uint64_t address) const |
|
bool | isPointer (std::uint64_t address, std::uint64_t *pointer=nullptr) const |
|
Segment * | getSegment (std::size_t index) |
|
Segment * | getSegment (const std::string &name) |
|
Segment * | getSegmentWithIndex (std::size_t index) |
|
Segment * | getSegmentFromAddress (std::uint64_t address) |
|
const Segment * | getSegment (std::size_t index) const |
|
const Segment * | getSegment (const std::string &name) const |
|
const Segment * | getSegmentWithIndex (std::size_t index) const |
|
const Segment * | getSegmentFromAddress (std::uint64_t address) const |
|
const Segment * | getEpSegment () |
|
std::pair< const std::uint8_t *, std::uint64_t > | getRawSegmentData (std::uint64_t address) const |
|
const std::string & | getStatusMessage () const |
|
const retdec::fileformat::LoaderErrorInfo & | getLoaderErrorInfo () const |
|
| ByteValueStorage ()=default |
|
virtual | ~ByteValueStorage ()=default |
|
Endianness | getInverseEndianness () const |
|
bool | isLittleEndian () const |
|
bool | isBigEndian () const |
|
bool | isUnknownEndian () const |
|
bool | hexToBig (std::string &str) const |
|
bool | hexToLittle (std::string &str) const |
|
bool | bitsToBig (std::string &str) const |
|
bool | bitsToLittle (std::string &str) const |
|
bool | bitsToBig (std::vector< unsigned char > &values) const |
|
bool | bitsToLittle (std::vector< unsigned char > &values) const |
|
bool | get1Byte (std::uint64_t address, std::uint64_t &res, Endianness e=Endianness::UNKNOWN) const |
|
bool | get2Byte (std::uint64_t address, std::uint64_t &res, Endianness e=Endianness::UNKNOWN) const |
|
bool | get4Byte (std::uint64_t address, std::uint64_t &res, Endianness e=Endianness::UNKNOWN) const |
|
bool | get8Byte (std::uint64_t address, std::uint64_t &res, Endianness e=Endianness::UNKNOWN) const |
|
bool | get10Byte (std::uint64_t address, long double &res) const |
|
bool | getWord (std::uint64_t address, std::uint64_t &res, Endianness e=Endianness::UNKNOWN) const |
|
bool | getFloat (std::uint64_t address, float &res) const |
|
bool | getDouble (std::uint64_t address, double &res) const |
|
bool | set1Byte (std::uint64_t address, std::uint64_t val, Endianness e=Endianness::UNKNOWN) |
|
bool | set2Byte (std::uint64_t address, std::uint64_t val, Endianness e=Endianness::UNKNOWN) |
|
bool | set4Byte (std::uint64_t address, std::uint64_t val, Endianness e=Endianness::UNKNOWN) |
|
bool | set8Byte (std::uint64_t address, std::uint64_t val, Endianness e=Endianness::UNKNOWN) |
|
bool | set10Byte (std::uint64_t address, long double val) |
|
bool | setWord (std::uint64_t address, std::uint64_t val, Endianness e=Endianness::UNKNOWN) |
|
bool | setFloat (std::uint64_t address, float val) |
|
bool | setDouble (std::uint64_t address, double val) |
|
bool | getXByteArray (std::uint64_t address, std::uint64_t x, std::vector< std::uint64_t > &res, std::size_t size, Endianness e=Endianness::UNKNOWN) const |
|
bool | get1ByteArray (std::uint64_t address, std::vector< std::uint64_t > &res, std::size_t size, Endianness e=Endianness::UNKNOWN) const |
|
bool | get2ByteArray (std::uint64_t address, std::vector< std::uint64_t > &res, std::size_t size, Endianness e=Endianness::UNKNOWN) const |
|
bool | get4ByteArray (std::uint64_t address, std::vector< std::uint64_t > &res, std::size_t size, Endianness e=Endianness::UNKNOWN) const |
|
bool | get8ByteArray (std::uint64_t address, std::vector< std::uint64_t > &res, std::size_t size, Endianness e=Endianness::UNKNOWN) const |
|
bool | get10ByteArray (std::uint64_t address, std::vector< long double > &res, std::size_t size) const |
|
bool | getWordArray (std::uint64_t address, std::vector< std::uint64_t > &res, std::size_t, Endianness e=Endianness::UNKNOWN) const |
|
bool | getFloatArray (std::uint64_t address, std::vector< float > &res, std::size_t size) const |
|
bool | getDoubleArray (std::uint64_t address, std::vector< double > &res, std::size_t size) const |
|
bool | getNTBS (std::uint64_t address, std::string &res, std::size_t size=0) const |
|
bool | getNTWS (std::uint64_t address, std::size_t width, std::vector< std::uint64_t > &res) const |
|
bool | getNTWSNice (std::uint64_t address, std::size_t width, std::vector< std::uint64_t > &res) const |
|
|
Segment * | addSegment (const retdec::fileformat::Section *section, std::uint64_t address, std::uint64_t memSize) |
|
void | applyRelocations () |
|
void | resolveRelocation (const retdec::fileformat::Relocation &rel, const retdec::fileformat::Symbol &sym) |
|
Segment * | insertSegment (std::unique_ptr< Segment > segment) |
|
void | removeSegment (Segment *segment) |
|
void | nameSegment (Segment *segment) |
|
void | sortSegments () |
|
void | setStatusMessage (const std::string &message) |
|
bool | createValueFromBytes (const std::vector< std::uint8_t > &data, std::uint64_t &value, Endianness endian, std::uint64_t offset=0, std::uint64_t size=0) const |
|
bool | createBytesFromValue (std::uint64_t data, std::uint64_t x, std::vector< std::uint8_t > &value, Endianness endian) const |
|
bool | get10ByteImpl (const std::vector< std::uint8_t > &data, long double &res) const |
|
bool | getFloatImpl (const std::vector< std::uint8_t > &data, float &res) const |
|
bool | getDoubleImpl (const std::vector< std::uint8_t > &data, double &res) const |
|
bool | getNTBSImpl (const GetNByteFn &get1ByteFn, std::uint64_t address, std::string &res, std::size_t size) const |
|
bool | getNTWSImpl (const GetXByteFn &getXByteFn, std::uint64_t address, std::size_t width, std::vector< std::uint64_t > &res) const |
|
bool | getNTWSNiceImpl (const GetXByteFn &getXByteFn, std::uint64_t address, std::size_t width, std::vector< std::uint64_t > &res) const |
|