0Pricing
Ethical Hacking Academy · Leçon

Analyse statique des APK

Décompilation

Analyse statique des APK est une leçon Ethical Hacking Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ethical Hacking Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ethical Hacking Academy comprend 4 leçons au total.

Analyse statique d'un APK

L'analyse statique d'un APK consiste à examiner son code et ses ressources sans l'exécuter. L'objectif est de récupérer un code lisible, proche du code source, à partir du DEX compilé.

Cette analyse révèle les secrets codés en dur, les failles logiques et le comportement réel de l'application.

Décodage avec apktool

apktool décode un APK pour restituer des ressources lisibles et du smali (une forme lisible par l'humain du bytecode DEX). Il décode également le fichier binaire AndroidManifest.xml.

Utilisez-le pour lire le manifeste et recomposer des applications modifiées.

apktool d app.apk -o app_src

Code smali

Le smali est un langage semblable à l'assembleur pour le bytecode Dalvik. Il est verbeux, mais permet d'effectuer des modifications précises, par exemple de contourner une vérification en modifiant une comparaison.

Vous pouvez modifier le smali et reconstruire l'APK pour changer le comportement de l'application.

const/4 v0, 0x1   # force a boolean to true

Obtenir du Java avec jadx

jadx décompile directement le DEX en Java lisible. La version avec interface graphique, jadx-gui, vous permet de parcourir les classes, de rechercher des chaînes et de suivre les appels de méthodes.

C'est le moyen le plus rapide de comprendre la logique d'une application.

jadx-gui app.apk

La méthode dex2jar

Une autre chaîne d'outils convertit le DEX en JAR avec dex2jar, puis l'ouvre dans un décompilateur Java comme JD-GUI.

jadx produit généralement une sortie plus propre, mais dex2jar est utile lorsque jadx rencontre des difficultés.

d2j-dex2jar app.apk -o app.jar

Rechercher des secrets

Le code décompilé contient souvent des secrets codés en dur : clés d'API, jetons, clés de chiffrement et URL de serveurs dorsaux.

Recherchez dans le code source des mots-clés comme password, secret, apikey et http. Les développeurs supposent à tort que le code compilé dissimule ces éléments.

grep -ri "api_key\|secret\|password" app_src/

Examiner le manifeste

Une fois le manifeste décodé, vérifiez les éléments suivants :

  • Composants exportés.
  • android:debuggable="true".
  • android:allowBackup="true" (les données peuvent être extraites par sauvegarde).
  • Autorisations dangereuses ou personnalisées.

Configuration de sécurité réseau

La configuration de sécurité réseau contrôle le comportement de TLS. Une configuration qui autorise le trafic en clair ou qui fait confiance aux autorités de certification ajoutées par l'utilisateur affaiblit la sécurité des communications.

De tels paramètres facilitent considérablement l'interception (un sujet abordé ultérieurement).

<application android:usesCleartextTraffic="true">

Analyse automatisée avec MobSF

MobSF (Mobile Security Framework) automatise l'analyse statique. Importez un APK et il génère un rapport sur les autorisations, les secrets codés en dur, les paramètres non sécurisés et un score de risque.

C'est un excellent outil de triage, même qu'un examen manuel permet encore de découvrir des problèmes plus profonds.

Reconstruction et re-signature

Après avoir corrigé le smali, reconstruisez l’application avec apktool et re-signez l’APK (Android refuse les applications non signées). Des outils comme apksigner ou uber-apk-signer prennent en charge la signature.

Ce processus est à la base des tests de falsification et des modifications à l’exécution.

apktool b app_src -o patched.apk
uber-apk-signer -a patched.apk

Liens profonds et WebViews

Recherchez les filtres d’intention de liens profonds et l’utilisation de WebView. Des liens profonds mal configurés peuvent ouvrir des écrans internes avec des données contrôlées par un attaquant.

Les WebViews qui utilisent JavaScriptInterface ou qui chargent du contenu non fiable peuvent exposer l’application à des injections et à des vols de données. Ces deux problèmes sont fréquemment relevés lors des analyses statiques.

Vérification rapide

Rappelez-vous quel outil fournit directement du Java lisible à partir d’un APK.

Récapitulatif

Vous comprenez maintenant l’analyse statique des APK :

  • Utilisez apktool pour le smali et le manifeste décodé, et jadx pour obtenir du Java lisible.
  • Recherchez les secrets codés en dur et examinez dans le manifeste les indicateurs d’exportation, de débogage et de sauvegarde.
  • Vérifiez la configuration de sécurité du réseau et utilisez MobSF pour un triage automatisé.
  • Modifiez le smali, puis reconstruisez et re-signez l’application pour tester la falsification.

Vous allez maintenant manipuler une application en cours d’exécution avec Frida.

Questions Fréquemment Posées

La leçon « Analyse statique des APK » est-elle gratuite ?

Oui — le texte complet de « Analyse statique des APK » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ethical Hacking Academy, passe à CoddyKit PRO. Le cours Ethical Hacking Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Analyse statique des APK » ?

Décompilation Tu pratiques Ethical Hacking Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Ethical Hacking Academy ?

Aucune expérience préalable n'est requise. Ethical Hacking Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Analyse statique des APK » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Ethical Hacking Academy ?

Oui. Chaque leçon Ethical Hacking Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Structure des applications Android
  2. Analyse statique des APK
  3. Analyse dynamique avec Frida
  4. Stockage et communications non sécurisés
← Retour à Ethical Hacking Academy