bool LIEF::VDEX::is_vdex(const std::string &file)

Check if the given file is an VDEX one.

bool LIEF::VDEX::is_vdex(const std::vector<uint8_t> &raw)

Check if the given raw data is an VDEX one.

vdex_version_t LIEF::VDEX::version(const std::string &file)

Return the VDEX version of the given file.

vdex_version_t LIEF::VDEX::version(const std::vector<uint8_t> &raw)

Return the VDEX version of the raw data.

LIEF::Android::ANDROID_VERSIONS LIEF::VDEX::android_version(vdex_version_t version)

Return the ANDROID_VERSIONS associated with the given VDEX version.


class LIEF::VDEX::Parser

Class which parse an VDEX file and transform into a VDEX::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::VDEX::File : public LIEF::Object

Public Functions

File &operator=(const File &copy) = delete
File(const File &copy) = delete
const Header &header(void) const

VDEX Header.

Header &header(void)
DEX::it_dex_files dex_files(void)

Iterator over LIEF::DEX::Files registered.

DEX::it_const_dex_files dex_files(void) const
dex2dex_info_t dex2dex_info(void) const
std::string dex2dex_json_info(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 &vdex_file)

class LIEF::VDEX::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

Magic value used to identify VDEX.

vdex_version_t version(void) const

VDEX version number.

uint32_t nb_dex_files(void) const

Number of LIEF::DEX::File files registered.

uint32_t dex_size(void) const

Size of all LIEF::DEX::File.

uint32_t verifier_deps_size(void) const

Size of verifier deps section.

uint32_t quickening_info_size(void) const

Size of quickening info section.

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 &header)