🐞Debug
Description
Le débogage signifie rechercher et corriger les erreurs, communément appelées « bugs », dans les logiciels, les systèmes ou les applications mobiles pour les faire fonctionner correctement. C’est un processus fatiguant, qui demande de la concentration et beaucoup de patience. Pour les développeurs, un bug normal qui affecte d'autres lignes de code, utilise des débogueurs pour arrêter l'exécution du programme, analyser les valeurs des variables, exécuter la ligne de code étape par étape, définir des points d'arrêt et modifier les valeurs pendant l'exécution. Par conséquent, cela aide à résoudre l’erreur ou le bogue qui affecte d’autres lignes de code. Cependant, si le débogage n'est pas strictement restreint lorsque l'application est rendu publique ou partagée à des utilisateurs finaux, des individus malveillants peuvent être en capacité d'utiliser cette fonctionnalité à des fins malveillantes.
Reconnaissance
Avec de a chance, l'application est déjà débogable, cela peut se vérifier via la présence ou non du flag android:debuggable=true
dans le fichier AndroidManifest.xml
.
Si ce flag, n'apparait pas, alors il est nécessaire de l'ajouter.
Pour cela, il faut dans un premier temps décomiler l'APK, ajouter le flag puis recompiler l'APK et l'auto-signer.
Voir la doc suivante:
🔙Reverse engineeringConnecter un débogueur
Trouver le PID de l'application avec la commande
$ adb shell pm list packages -3
Mettre l'application en attente de connexion à un débogeur avec la commande
$ adb shell am setup-debug-app –w <package_name>
Dans Android Studio, ouvrir l'APK.
Placez les breakpoints
Dans la barre d'outils, sélectionnez un appareil sur lequel déboguer votre application dans le menu de l'appareil cible.
Cliquer sur Debug.
Connexion à une application en cours d'execution
Si votre application est déjà en cours d'exécution sur votre appareil, vous pouvez démarrer le débogage sans redémarrer votre application comme suit :
Cliquez sur Attach debugger to Android Process.
Dans la boîte de dialogue Choose Process, sélectionnez le processus auquel vous souhaitez attacher le débogueur.
a. Si vous utilisez un émulateur ou un appareil rooté, vous pouvez cocher Show all processes pour voir tous les processus. Sur un appareil rooté, tous les processus en cours d'exécution sur l'appareil s'afficheront. Cependant, sur un appareil non rooté, seuls les processus déboguables seront affichés.
b. Dans le menu Use Android Settings from, vous pouvez sélectionner une configuration d'exécution/débogage existante. Pour le code C et C++, cela vous permet de réutiliser les commandes de démarrage LLDB, les commandes de post-attachement LLDB et les répertoires de symboles dans une configuration existante.
c. Si vous n’avez pas de configuration d’exécution/débogage existante, sélectionnez Create New. Cette sélection active le menu Type de débogage, dans lequel vous pouvez sélectionner un type de débogage différent. Par défaut, Android Studio utilise le type de débogage Détecter automatiquement pour sélectionner la meilleure option de débogueur pour vous selon que votre projet inclut du code Java ou C/C++.
Cliquez sur OK.
La fenêtre Débogage apparaît.
Documentation de Android Studio: https://developer.android.com/studio/debug
Dernière mise à jour