LIEF: Library to Instrument Executable Formats Version 0.15.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 |
Public Member Functions inherited from LIEF::Object | |
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.