Appareil enraciné
Sur les appareils enracinés, les fonctions privées dans les applications peuvent être appelées assez facilement (dans la plupart des cas) en utilisant un outil tel que Frida . Frida est comme un mélange d'un "débogueur scriptable" et du framework Xposed avec la différence que vous n'avez pas à traiter le code de bas niveau comme les débogueurs réguliers et l'inconvénient de Xposed que lorsque vous changez votre code de script vous n'avez pas à redémarrer le téléphone entier.
Frida permet d'écrire du code JavaScript qui est exécuté dans l'application et vous disposez également d'un shell interactif pour trouver ou créer des instances de classe, appeler des fonctions, etc. Frida est un véritable couteau suisse pour la rétro-ingénierie et le débogage d'applications tierces.
Dispositif non enraciné
Sur un appareil non enraciné et une application qui est une version normale (pas une version de débogage), vous ne pouvez pas invoquer une fonction dans l'application sans modifier l'application. Par exemple, vous pouvez essayer de décompiler l'application en utilisant apktool modifiez le code Smali pour exécuter la fonction, par exemple si un certain bouton de l'interface utilisateur est pressé, puis recompilez et renvoyez l'application avec un nouveau certificat. Mais attention, Smali est un langage de très bas niveau - donc même si vous êtes familier avec Java et le développement Android, la modification du code Smali sera difficile.