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.

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

Return the ANDROID_VERSIONS associated with the given VDEX version.


class 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

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


class File : public LIEF::Object

Main class for the VDEX module which represents a VDEX file.

Public Types

using dex_files_t = std::vector<std::unique_ptr<DEX::File>>
using it_dex_files = ref_iterator<dex_files_t&, DEX::File*>
using it_const_dex_files = const_ref_iterator<const dex_files_t&, const DEX::File*>

Public Functions

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

VDEX Header.

Header &header()
it_dex_files dex_files()

Iterator over LIEF::DEX::Files registered.

it_const_dex_files dex_files() const
dex2dex_info_t dex2dex_info() const
std::string dex2dex_json_info()
virtual void accept(Visitor &visitor) const override
~File() override


friend class OAT::Binary
friend std::ostream &operator<<(std::ostream &os, const File &vdex_file)