01Commencer par le conteneur
Un APK est une archive ZIP : manifeste, bytecode DEX, ressources, assets et bibliothèques natives. Un AAB est un bundle de publication, pas le fichier qu'un appareil Android exécute directement.
unzip app.apk -d app_unpacked/
02Récupérer la structure, pas la magie
JADX reconstruit un code similaire au Java ; APKTool décode les ressources et génère du smali. L'obfuscation peut renommer les symboles, mais elle ne peut pas effacer le comportement intégré.
jadx-gui app.apk
03Séparer le client du backend
Les points de terminaison d'API, les jetons et les formats de requête peuvent être visibles dans le client. La base de données du serveur, la logique privée et les clés secrètes ne se trouvent pas dans l'APK.
jadx -d out/ app.apk
04Traiter les wrappers comme des frontières
Un wrapper peut lancer, isoler, intégrer ou virtualiser une autre application. Sa visibilité dépend des permissions, des limites de processus et des défenses de la cible.
apktool d app.apk -o decoded/