bool LIEF::ART::is_art(const std::string &file)

Check if the given file is an ART one.

bool LIEF::ART::is_art(const std::vector<uint8_t> &raw)

Check if the given raw data is an ART one.

art_version_t LIEF::ART::version(const std::string &file)

Return the ART version of the given file.

art_version_t LIEF::ART::version(const std::vector<uint8_t> &raw)

Return the ART version of the raw data.

LIEF::Android::ANDROID_VERSIONS LIEF::ART::android_version(art_version_t version)

Return the ANDROID_VERSIONS associated with the given ART version.


class LIEF::ART::Parser

Class which parse an ART file and transform into a ART::File object.

Public Functions

Parser &operator=(const Parser &copy) = delete
Parser(const Parser &copy) = delete

Public Static Functions

std::unique_ptr<File> parse(const std::string &file)
std::unique_ptr<File> parse(const std::vector<uint8_t> &data, const std::string &name = "")


friend struct ::Profiler


class LIEF::ART::File : public LIEF::Object

Public Functions

File &operator=(const File &copy) = delete
File(const File &copy) = delete
const Header &header(void) const
Header &header(void)
void accept(Visitor &visitor) const override
bool operator==(const File &rhs) const
bool operator!=(const File &rhs) const


std::ostream &operator<<(std::ostream &os, const File &art_file)

class LIEF::ART::Header : public LIEF::Object

Public Types

using magic_t = std::array<uint8_t, 4>

Public Functions

template<class T>
Header(const T *header)
Header(const Header&)
Header &operator=(const Header&)
magic_t magic(void) const
art_version_t version(void) const
uint32_t image_begin(void) const
uint32_t image_size(void) const
uint32_t oat_checksum(void) const
uint32_t oat_file_begin(void) const
uint32_t oat_file_end(void) const
uint32_t oat_data_begin(void) const
uint32_t oat_data_end(void) const
int32_t patch_delta(void) const
uint32_t image_roots(void) const
uint32_t pointer_size(void) const
bool compile_pic(void) const
uint32_t nb_sections(void) const
uint32_t nb_methods(void) const
uint32_t boot_image_begin(void) const
uint32_t boot_image_size(void) const
uint32_t boot_oat_begin(void) const
uint32_t boot_oat_size(void) const
STORAGE_MODES storage_mode(void) const
uint32_t data_size(void) const
void accept(Visitor &visitor) const override
bool operator==(const Header &rhs) const
bool operator!=(const Header &rhs) const


std::ostream &operator<<(std::ostream &os, const Header &hdr)