|
| Analysis (Parser *parser, DexDisassembler *disassembler, bool create_xrefs) |
|
void | add (Parser *parser) |
| Add all the classes and methods from a parser to the analysis class.
|
|
void | create_xrefs () |
| Create class, method, string and field cross references if you are using multiple DEX files, this function must be called when all DEX files are added. If you call the function after every DEX file, it will only work for the first time. ADD ALL DEX FIRST.
|
|
ClassAnalysis * | get_class_analysis (std::string &class_name) |
| Get a ClassAnalysis object by the class name.
|
|
const std::unordered_map< std::string, std::unique_ptr< ClassAnalysis > > & | get_classes () const |
| Get a constant reference to the classes.
|
|
std::unordered_map< std::string, std::unique_ptr< ClassAnalysis > > & | get_classes () |
| Get a reference to the classes.
|
|
const std::unordered_map< std::string, std::unique_ptr< ExternalClass > > & | get_external_classes () const |
| Get a constant reference to external classes.
|
|
std::unordered_map< std::string, std::unique_ptr< ExternalClass > > & | get_external_classes () |
| Get a reference to external classes.
|
|
MethodAnalysis * | get_method (std::variant< EncodedMethod *, ExternalMethod * > method) |
| Get a MethodAnalysis pointer given an Encoded or External Method.
|
|
MethodAnalysis * | get_method_analysis_by_name (std::string &class_name, std::string &method_name, std::string &method_descriptor) |
| Obtain a method anaylsis by different values.
|
|
MethodID * | get_method_id_by_name (std::string &class_name, std::string &method_name, std::string &method_descriptor) |
| Obtain a MethodID by different values.
|
|
const std::unordered_map< std::string, std::unique_ptr< MethodAnalysis > > & | get_methods () const |
| Return a constant reference to the method analysis.
|
|
std::unordered_map< std::string, std::unique_ptr< MethodAnalysis > > & | get_methods () |
| Return a reference to the method analysis.
|
|
const std::unordered_map< std::string, std::unique_ptr< ExternalMethod > > & | get_external_methods () const |
| Return a constant reference to the ExternalMethods.
|
|
std::unordered_map< std::string, std::unique_ptr< ExternalMethod > > & | get_external_methods () |
| Return a reference to the ExternalMethods.
|
|
FieldAnalysis * | get_field_analysis (EncodedField *field) |
| Get a field given an encoded field.
|
|
std::vector< FieldAnalysis * > & | get_fields () |
| Get all the fields from all the classes.
|
|
const std::unordered_map< std::string, std::unique_ptr< StringAnalysis > > & | get_string_analysis () const |
| Get a constant reference to the StringAnalysis objects.
|
|
std::unordered_map< std::string, std::unique_ptr< StringAnalysis > > & | get_string_analysis () |
| Get a reference to the StringAnalysis map.
|
|
std::vector< ClassAnalysis * > | find_classes (std::string &name, bool no_external) |
| Find classes by name with regular expression, the method returns a list of ClassAnalysis object that match the regex.
|
|
std::vector< MethodAnalysis * > | find_methods (std::string &class_name, std::string &method_name, std::string &descriptor, std::string &accessflags, bool no_external) |
| Find MethodAnalysis object by name with regular expression. This time is necessary to specify more values for the method.
|
|
std::vector< StringAnalysis * > | find_strings (std::string &str) |
| Find the strings that match a provided regular expression.
|
|
std::vector< FieldAnalysis * > | find_fields (std::string &class_name, std::string &field_name, std::string &field_type, std::string &accessflags) |
| Find FieldAnalysis objects using regular expressions find those that are in classes.
|
|