LIEF: Library to Instrument Executable Formats Version
|
Class that represents a DEX file. More...
#include <File.hpp>
Public Types | |
using | classes_t = std::unordered_map< std::string, Class * > |
using | classes_list_t = std::vector< std::unique_ptr< Class > > |
using | it_classes = ref_iterator< classes_list_t &, Class * > |
using | it_const_classes = const_ref_iterator< const classes_list_t &, const Class * > |
using | methods_t = std::vector< std::unique_ptr< Method > > |
using | it_methods = ref_iterator< methods_t &, Method * > |
using | it_const_methods = const_ref_iterator< const methods_t &, const Method * > |
using | strings_t = std::vector< std::unique_ptr< std::string > > |
using | it_strings = ref_iterator< strings_t &, std::string * > |
using | it_const_strings = const_ref_iterator< const strings_t &, const std::string * > |
using | types_t = std::vector< std::unique_ptr< Type > > |
using | it_types = ref_iterator< types_t &, Type * > |
using | it_const_types = const_ref_iterator< const types_t &, const Type * > |
using | prototypes_t = std::vector< std::unique_ptr< Prototype > > |
using | it_prototypes = ref_iterator< prototypes_t &, Prototype * > |
using | it_const_prototypes = const_ref_iterator< const prototypes_t &, const Prototype * > |
using | fields_t = std::vector< std::unique_ptr< Field > > |
using | it_fields = ref_iterator< fields_t &, Field * > |
using | it_const_fields = const_ref_iterator< const fields_t &, const Field * > |
![]() | |
template<class T > | |
using | output_t = add_pointer_t< decay_t< T > > |
template<class T > | |
using | output_const_t = add_pointer_t< add_const_t< decay_t< T > > > |
Public Member Functions | |
File & | operator= (const File ©)=delete |
File (const File ©)=delete | |
dex_version_t | version () const |
Version of the current DEX file. | |
const std::string & | name () const |
Name of this file. | |
void | name (const std::string &name) |
const std::string & | location () const |
Location of this file. | |
void | location (const std::string &location) |
const Header & | header () const |
DEX header. | |
Header & | header () |
it_const_classes | classes () const |
All classes used in the DEX file | |
it_classes | classes () |
bool | has_class (const std::string &class_name) const |
Check if the given class name exists. | |
const Class * | get_class (const std::string &class_name) const |
Return the DEX::Class object associated with the given name. | |
Class * | get_class (const std::string &class_name) |
const Class * | get_class (size_t index) const |
Return the DEX::Class object associated with the given index. | |
Class * | get_class (size_t index) |
dex2dex_info_t | dex2dex_info () const |
De-optimize information. | |
std::string | dex2dex_json_info () const |
De-optimize information as JSON. | |
it_const_methods | methods () const |
Return an iterator over all the DEX::Method used in this DEX file. | |
it_methods | methods () |
it_const_fields | fields () const |
Return an iterator over all the DEX::Field used in this DEX file. | |
it_fields | fields () |
it_const_strings | strings () const |
String pool. | |
it_strings | strings () |
it_const_types | types () const |
Type pool. | |
it_types | types () |
it_prototypes | prototypes () |
Prototype pool. | |
it_const_prototypes | prototypes () const |
const MapList & | map () const |
DEX Map. | |
MapList & | map () |
std::string | save (const std::string &path="", bool deoptimize=true) const |
Extract the current dex file and deoptimize it. | |
std::vector< uint8_t > | raw (bool deoptimize=true) const |
void | accept (Visitor &visitor) const override |
![]() | |
Object (const Object &other) | |
Object & | operator= (const Object &other) |
template<class T > | |
output_t< T > | as () |
template<class T > | |
output_const_t< T > | as () const |
virtual bool | operator== (const Object &other) const |
virtual bool | operator!= (const Object &other) const |
Class that represents a DEX file.
|
overridevirtual |
Implements LIEF::Object.