|
LIEF: Library to Instrument Executable Formats Version 1.0.0
|
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*> |
| Public Types inherited from LIEF::Object | |
| 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 |
| ~File () override | |
| Public Member Functions inherited from LIEF::Object | |
| Object () | |
| Object (const Object &other) | |
| Object & | operator= (const Object &other) |
| Object (Object &&other) noexcept=default | |
| Object & | operator= (Object &&other) noexcept=default |
| 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 |
| virtual | ~Object () |
| using LIEF::DEX::File::classes_list_t = std::vector<std::unique_ptr<Class>> |
| using LIEF::DEX::File::classes_t = std::unordered_map<std::string, Class*> |
| using LIEF::DEX::File::fields_t = std::vector<std::unique_ptr<Field>> |
| using LIEF::DEX::File::it_classes = ref_iterator<classes_list_t&, Class*> |
| using LIEF::DEX::File::it_const_classes = const_ref_iterator<const classes_list_t&, const Class*> |
| using LIEF::DEX::File::it_const_fields = const_ref_iterator<const fields_t&, const Field*> |
| using LIEF::DEX::File::it_const_methods = const_ref_iterator<const methods_t&, const Method*> |
| using LIEF::DEX::File::it_const_prototypes = const_ref_iterator<const prototypes_t&, const Prototype*> |
| using LIEF::DEX::File::it_const_strings = const_ref_iterator<const strings_t&, const std::string*> |
| using LIEF::DEX::File::it_const_types = const_ref_iterator<const types_t&, const Type*> |
| using LIEF::DEX::File::it_fields = ref_iterator<fields_t&, Field*> |
| using LIEF::DEX::File::it_methods = ref_iterator<methods_t&, Method*> |
| using LIEF::DEX::File::it_strings = ref_iterator<strings_t&, std::string*> |
| using LIEF::DEX::File::it_types = ref_iterator<types_t&, Type*> |
| using LIEF::DEX::File::methods_t = std::vector<std::unique_ptr<Method>> |
| using LIEF::DEX::File::prototypes_t = std::vector<std::unique_ptr<Prototype>> |
| using LIEF::DEX::File::strings_t = std::vector<std::unique_ptr<std::string>> |
| using LIEF::DEX::File::types_t = std::vector<std::unique_ptr<Type>> |
|
delete |
References File().
Referenced by File(), operator<<, and operator=().
|
override |
|
overridevirtual |
Implements LIEF::Object.
| it_classes LIEF::DEX::File::classes | ( | ) |
| it_const_classes LIEF::DEX::File::classes | ( | ) | const |
All classes used in the DEX file
| dex2dex_info_t LIEF::DEX::File::dex2dex_info | ( | ) | const |
De-optimize information.
| std::string LIEF::DEX::File::dex2dex_json_info | ( | ) | const |
De-optimize information as JSON.
| it_fields LIEF::DEX::File::fields | ( | ) |
| it_const_fields LIEF::DEX::File::fields | ( | ) | const |
Return an iterator over all the DEX::Field used in this DEX file.
| Class * LIEF::DEX::File::get_class | ( | const std::string & | class_name | ) |
| const Class * LIEF::DEX::File::get_class | ( | const std::string & | class_name | ) | const |
Return the DEX::Class object associated with the given name.
| Class * LIEF::DEX::File::get_class | ( | size_t | index | ) |
| const Class * LIEF::DEX::File::get_class | ( | size_t | index | ) | const |
Return the DEX::Class object associated with the given index.
| bool LIEF::DEX::File::has_class | ( | const std::string & | class_name | ) | const |
Check if the given class name exists.
| Header & LIEF::DEX::File::header | ( | ) |
| const std::string & LIEF::DEX::File::location | ( | ) | const |
Location of this file.
Referenced by location().
| void LIEF::DEX::File::location | ( | const std::string & | location | ) |
References location().
| MapList & LIEF::DEX::File::map | ( | ) |
| it_methods LIEF::DEX::File::methods | ( | ) |
| it_const_methods LIEF::DEX::File::methods | ( | ) | const |
Return an iterator over all the DEX::Method used in this DEX file.
| const std::string & LIEF::DEX::File::name | ( | ) | const |
Name of this file.
Referenced by name().
| void LIEF::DEX::File::name | ( | const std::string & | name | ) |
References name().
| it_prototypes LIEF::DEX::File::prototypes | ( | ) |
Prototype pool.
| it_const_prototypes LIEF::DEX::File::prototypes | ( | ) | const |
| std::vector< uint8_t > LIEF::DEX::File::raw | ( | bool | deoptimize = true | ) | const |
| std::string LIEF::DEX::File::save | ( | const std::string & | path = "", |
| bool | deoptimize = true ) const |
Extract the current dex file and deoptimize it.
| it_strings LIEF::DEX::File::strings | ( | ) |
| it_const_strings LIEF::DEX::File::strings | ( | ) | const |
String pool.
| it_types LIEF::DEX::File::types | ( | ) |
| it_const_types LIEF::DEX::File::types | ( | ) | const |
Type pool.
| dex_version_t LIEF::DEX::File::version | ( | ) | const |
Version of the current DEX file.