Pentest

Analyse d'un APK Android : le guide pratique 2026

Analyse APK Android 2026 : anatomie, outils JADX apktool Frida Objection MobSF, statique + dynamique, OWASP MASVS, bypass pinning, exemples commandes.

Naim Aouaichia
14 min de lecture
  • Android
  • Mobile reverse
  • APK
  • JADX
  • Frida
  • MobSF
  • OWASP MASVS
  • Pentest mobile

L'analyse d'un APK Android est une discipline centrale du pentest mobile et de la recherche en sécurité applicative. Un APK (Android Package) est une archive contenant une application Android complète : bytecode Dalvik/ART compilé dans classes.dex, manifeste avec permissions dans AndroidManifest.xml, ressources dans res/ et resources.arsc, bibliothèques natives dans lib/ par architecture, signature dans META-INF/. Son analyse combine deux approches complémentaires : statique (décompilation sans exécution via JADX et apktool) et dynamique (instrumentation runtime via Frida et Objection). Les outils dominants en 2026 sont JADX (48k+ stars GitHub, décompilateur référence), apktool (24k+ stars, désassemblage smali et repackaging), Frida (oleavr, instrumentation dynamique multi-plateforme), Objection (wrapper Frida avec commandes prêtes à l'emploi), MobSF (scan automatisé complet) et Drozer (framework de tests mobile historique). Le référentiel méthodologique de référence est OWASP MASVS (Mobile Application Security Verification Standard) associé au MASTG (testing guide). Cet article détaille l'anatomie d'un APK, l'environnement d'analyse, les 5 étapes d'analyse statique, les techniques d'analyse dynamique, les bypass de certificate pinning, l'automatisation MobSF et le cadre légal.

Anatomie d'un APK Android

Un fichier .apk est au format ZIP renommé. Il est possible de l'ouvrir directement avec unzip.

monApp.apk (archive ZIP)
├── AndroidManifest.xml       (binaire AXML, permissions, composants, intents)
├── classes.dex                (bytecode Dalvik compilé, code Java/Kotlin)
├── classes2.dex, classes3.dex (si multidex, dépasse 64k methods)
├── resources.arsc             (ressources binaires compilées)
├── res/                       (ressources non compilées)
│   ├── drawable/             (images, PNG, JPG, WebP)
│   ├── layout/                (fichiers XML layout, compilés)
│   ├── values/                (strings, colors, dimens)
│   └── raw/                   (fichiers bruts embarqués)
├── assets/                    (assets non compressées, accès via AssetManager)
├── lib/                       (bibliothèques natives .so)
│   ├── armeabi-v7a/          (ARM 32 bits, legacy)
│   ├── arm64-v8a/             (ARM 64 bits, dominant 2026)
│   ├── x86/                   (émulateurs x86)
│   └── x86_64/                (émulateurs x64)
├── kotlin/                    (métadonnées Kotlin si applicable)
└── META-INF/                  (signatures et manifest)
    ├── MANIFEST.MF
    ├── CERT.RSA (ou CERT.EC si ECDSA)
    └── CERT.SF

Format DEX et runtime ART

DEX (Dalvik Executable)
  Bytecode optimisé pour mobiles (taille, batterie)
  Compilé depuis Java/Kotlin via D8 (compiler)
  Contient classes, méthodes, constants pool, strings
 
ART (Android Runtime) - remplace Dalvik depuis Android 5.0 (2014)
  Ahead-of-Time compilation + JIT
  OAT files générés à l'installation
  Profile-guided optimization depuis Android 7+
 
Kotlin support
  Depuis Android Studio 3.0 (2017), Kotlin first-class
  Compilé en bytecode DEX comme Java
  Métadonnées Kotlin dans classes.dex pour décompilation

Environnement d'analyse

Prérequis logiciels

# Base : Linux (Ubuntu/Debian/Arch), macOS ou Windows WSL2
# JDK 17+ (beaucoup d'outils requièrent Java)
sudo apt install -y openjdk-17-jdk
 
# Android SDK Platform Tools (adb, fastboot)
sudo apt install -y android-tools-adb android-tools-fastboot
# Ou télécharger depuis developer.android.com/tools/releases/platform-tools
 
# Python 3.10+ pour Frida et outils Python
sudo apt install -y python3 python3-pip
 
# Outils supplémentaires
sudo apt install -y unzip wget curl git

Environnement d'exécution pour analyse dynamique

Émulateurs Android :
 
  Android Studio AVD (gratuit)
    Émulateur officiel Google
    Root facile avec images « Google APIs » en x86_64
    Performance acceptable sur CPU moderne
 
  Genymotion (commercial freemium)
    Images pré-configurées rootées
    Très populaire en pentest mobile
    Plan Personal gratuit
 
  Corellium (commercial, cloud)
    iOS + Android virtualized devices
    Utilisé par chercheurs sécurité pro
    Cher mais très puissant
 
  Waydroid (OSS, Linux)
    Android dans conteneur Linux
    Performance proche native
 
Device physique rooté :
  Pixel 4a, 5, 6, 7, 8 : bootloader déverrouillable, support Magisk
  OnePlus certaines séries
  Éviter : Samsung moderne (Knox), iPhone (iOS différent)
 
Magisk (root manager moderne) :
  Remplace SuperSU obsolète
  Modules : LSPosed (remplace Xposed), Zygisk

Analyse statique étape par étape

Étape 1 - Récupérer l'APK

# Depuis device rooté avec adb
adb shell pm list packages | grep monApp
adb shell pm path com.example.monapp
# Retourne : package:/data/app/com.example.monapp-1.apk
 
adb pull /data/app/com.example.monapp-1.apk monApp.apk
 
# Depuis sources publiques (apps gratuites uniquement)
# APKMirror, APKPure, APKCombo, Aptoide
# Vérifier les hashes sur VirusTotal avant analyse
 
# Via bundletool pour un AAB
bundletool build-apks --bundle=app.aab --output=app.apks

Étape 2 - Informations de base

# Hashes et taille
md5sum monApp.apk
sha256sum monApp.apk
stat -c '%s' monApp.apk
 
# Signature et métadonnées
apksigner verify --print-certs monApp.apk
aapt dump badging monApp.apk
 
# Contenu rapide
unzip -l monApp.apk
 
# Détection du compilateur, obfuscation
# Indicateurs : strings R8/ProGuard, Flutter, React Native, Kotlin, Jetpack Compose
strings monApp.apk | grep -iE "proguard|r8|flutter|react|expo"

Étape 3 - Extraction avec apktool

apktool désassemble le bytecode en smali (format lisible) et décode les ressources binaires en XML lisible.

# Installation (Linux)
wget https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool
wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.11.1.jar -O apktool.jar
sudo mv apktool /usr/local/bin/
sudo mv apktool.jar /usr/local/bin/
sudo chmod +x /usr/local/bin/apktool
 
# Décodage complet
apktool d monApp.apk -o monApp-decoded
 
# Structure résultante :
# monApp-decoded/
#   AndroidManifest.xml    (lisible)
#   apktool.yml             (métadonnées build)
#   res/                    (ressources lisibles)
#   smali/                  (bytecode désassemblé)
#   smali_classes2/ etc
 
# Points d'intérêt dans AndroidManifest.xml
cat monApp-decoded/AndroidManifest.xml | grep -iE "permission|exported|intent-filter|content-provider"
 
# Rechercher URLs, API keys dans strings.xml
grep -riE "http|api.*key|token|secret" monApp-decoded/res/values/

Étape 4 - Décompilation avec JADX

JADX convertit directement le bytecode DEX en Java/Kotlin lisible, bien plus confortable que smali.

# Installation
wget https://github.com/skylot/jadx/releases/latest/download/jadx-1.5.3.zip
unzip jadx-1.5.3.zip -d jadx
# GUI
./jadx/bin/jadx-gui monApp.apk
# CLI - extraire tout dans un dossier
./jadx/bin/jadx -d monApp-decompiled monApp.apk
 
# Options utiles
jadx --deobf --deobf-min 3 --show-bad-code monApp.apk
# --deobf : tente de renommer les classes obfusquées (a, b, c → Classe1, etc.)
# --show-bad-code : affiche code qui n'a pas pu être décompilé proprement

Points d'intérêt à rechercher dans le code décompilé

Hardcoded secrets :
  grep -rE "api.*key|secret|password|token" monApp-decompiled/sources/
  grep -rE "AKIA[0-9A-Z]{16}" monApp-decompiled/  # AWS access keys
  grep -rE "ghp_|ghs_|gho_" monApp-decompiled/     # GitHub tokens
 
URLs et endpoints API :
  grep -rE "https?://" monApp-decompiled/sources/
 
Cryptographie suspecte :
  grep -rE "MD5|SHA-?1|DES|ECB" monApp-decompiled/sources/
  Rechercher AES key hardcoded
 
WebView et JS bridges :
  grep -rE "loadUrl|addJavascriptInterface|evaluateJavascript" monApp-decompiled/
 
Deep links et intent filters :
  AndroidManifest.xml : <intent-filter> avec <data android:scheme="">
  Peut être exploitables pour ouvrir l'app avec données contrôlées
 
Root detection :
  grep -rE "RootBeer|isDeviceRooted|SuperUser\.apk|magisk" monApp-decompiled/
 
SSL Pinning :
  grep -rE "pinning|CertificatePinner|TrustManagerImpl|setHostnameVerifier" monApp-decompiled/

Étape 5 - Analyse automatisée avec MobSF

MobSF (Mobile Security Framework) est le standard OSS pour scan automatisé complet Android + iOS.

# Installation via Docker (recommandé)
docker pull opensecurity/mobile-security-framework-mobsf
docker run -d -p 8000:8000 opensecurity/mobile-security-framework-mobsf
 
# Ouvrir http://localhost:8000
# Drag & drop de l'APK → scan complet en 1-5 minutes
 
# MobSF produit :
#   Static analysis : permissions, components exposés, hardcoded secrets,
#                     dangerous API usage, crypto faible, cert pinning
#   Manifest analysis : misconfigurations Android
#   Code analysis : CWE mapping, hash de fichiers
#   Rapport HTML et PDF téléchargeable
#   API REST pour automatisation CI/CD
 
# Alternatives :
#   APKLab (extension VS Code)
#   Quark-Engine (malware focus)
#   apkleaks (scanner secrets)

Analyse dynamique avec Frida et Objection

Installation Frida

# Host (machine pentest)
pip install frida-tools objection
 
# Device rooté : Frida server
# Télécharger frida-server-X.Y.Z-android-arm64 depuis
# https://github.com/frida/frida/releases
adb push frida-server-16.7.0-android-arm64 /data/local/tmp/frida-server
adb shell "chmod +x /data/local/tmp/frida-server"
adb shell "/data/local/tmp/frida-server &"
 
# Vérification
frida-ps -U  # liste processus USB device

Frida - hooking basique

// hook.js - hook une méthode Java
Java.perform(function() {
    var MainActivity = Java.use('com.example.monapp.MainActivity');
 
    // Hook méthode checkLicense() qui retourne boolean
    MainActivity.checkLicense.implementation = function() {
        console.log('[+] checkLicense() appelé');
        var original = this.checkLicense();
        console.log('[+] Retour original: ' + original);
        console.log('[+] Force retour: true');
        return true;  // bypass license
    };
});
# Exécution
frida -U -l hook.js -f com.example.monapp --no-pause

Objection - wrapper Frida

# Attacher à app en cours d'exécution
objection -g com.example.monapp explore
 
# Commandes utiles dans Objection shell :
android sslpinning disable        # bypass certificate pinning (universel)
android root disable               # bypass root detection
android heap search instances com.example.monapp.User  # objets en mémoire
android hooking list classes       # lister classes chargées
android hooking watch class com.example.monapp.LoginActivity
android hooking watch class_method com.example.monapp.Auth.login --dump-args --dump-return
 
# Repackager un APK avec Frida gadget embarqué (device non-rooté)
objection patchapk --source monApp.apk --skip-resources

Burp Suite avec certificate pinning bypass

# 1. Configurer Burp comme proxy HTTPS sur port 8080
# 2. Configurer proxy Wi-Fi du device/émulateur vers Burp
#    Settings → Wi-Fi → Modify network → Proxy Manual
 
# 3. Installer le certificat Burp CA en système (Android 7+)
#    Export Burp CA as .der, rename .cer
#    adb push burp.cer /system/etc/security/cacerts/9a5ba575.0
#    (nécessite root et remount /system en rw, ou Magisk module)
 
# 4. Bypass SSL pinning avec Objection
objection -g com.example.monapp explore
android sslpinning disable
 
# 5. Naviguer dans l'app, capturer requêtes dans Burp

Référentiel OWASP MASVS et MASTG

OWASP MASVS (Mobile Application Security Verification Standard) est le référentiel de sécurité mobile, analogue au ASVS pour le web.

Les 8 catégories MASVS 2024

MASVS-STORAGE
  Protection des données au repos
  Pas de secrets hardcodés
  Keystore Android utilisé correctement
 
MASVS-CRYPTO
  Primitives cryptographiques modernes
  Pas de MD5/SHA-1/DES/ECB
  Clés générées par RNG cryptographique
  IV jamais réutilisés
 
MASVS-AUTH
  Authentification forte côté serveur
  Sessions sécurisées
  Biométrie correctement implémentée
 
MASVS-NETWORK
  TLS 1.2+ obligatoire
  Certificate pinning sur APIs critiques
  Network Security Config configuré
 
MASVS-PLATFORM
  Permissions minimales
  Composants non exposés sauf nécessaire
  WebView sécurisée (pas de JS bridges dangereux)
  Deep links validés
 
MASVS-CODE
  Pas de vulns classiques (injection, logic bugs)
  Bibliothèques tierces à jour
  Obfuscation et logging hardenés
 
MASVS-RESILIENCE
  Root/jailbreak detection (niveau L2)
  Anti-debugging (niveau L2)
  Obfuscation (niveau L2)
  Anti-tampering
 
MASVS-PRIVACY (ajouté 2024)
  Data minimization
  Consent management
  Data retention et deletion
  Conformité RGPD / CCPA

OWASP MASTG

Le Mobile Application Security Testing Guide (MASTG) est le livre compagnon avec les procédures de test détaillées pour Android et iOS. Référence absolue du pentest mobile en 2026.

Top 10 Mobile OWASP 2024

Mis à jour en 2024 par OWASP Foundation.

M1: Improper Credential Usage
M2: Inadequate Supply Chain Security
M3: Insecure Authentication/Authorization
M4: Insufficient Input/Output Validation
M5: Insecure Communication
M6: Inadequate Privacy Controls
M7: Insufficient Binary Protections
M8: Security Misconfiguration
M9: Insecure Data Storage
M10: Insufficient Cryptography

Bypass certificate pinning : 5 approches

1. Frida Universal Bypass

# Script Universal Android SSL Pinning Bypass (multiple auteurs)
frida -U -l android-pin-bypass.js -f com.example.monapp
 
# Ou Objection one-liner
objection -g com.example.monapp explore -s "android sslpinning disable"

2. Modification Network Security Config

# apktool décode
apktool d monApp.apk -o monApp-decoded
 
# Éditer res/xml/network_security_config.xml
# Ajouter user CA acceptance
cat > monApp-decoded/res/xml/network_security_config.xml << 'EOF'
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system"/>
            <certificates src="user"/>
        </trust-anchors>
    </base-config>
</network-security-config>
EOF
 
# Repackager et signer
apktool b monApp-decoded -o monApp-patched.apk
apksigner sign --ks ~/.android/debug.keystore --ks-pass pass:android monApp-patched.apk

3. Frida Gadget embarqué

# Objection patchapk injecte Frida gadget dans l'APK
# Utilisable sur device non-rooté
objection patchapk --source monApp.apk --skip-resources --ignore-nativelibs
# Produit monApp.objection.apk à installer

4. Root + Burp CA system

Sur device rooté : pousser le certificat Burp dans /system/etc/security/cacerts/ via Magisk module.

5. Xposed / LSPosed modules

TrustMeAlready, SSLUnpinning : modules qui bypassent automatiquement les implémentations courantes.

Vulnérabilités fréquentes à rechercher

1. Hardcoded secrets

API keys AWS/Google/Firebase, tokens, passwords en dur dans strings.xml, constants.java, ou BuildConfig. Scanner avec trufflehog-android ou apkleaks.

2. Exposed components

AndroidManifest.xml avec android:exported="true" sur Activity, Service, BroadcastReceiver, ContentProvider sans permission. Tester via Drozer ou adb shell am start.

Deep link myapp://action/data non validé permet à une app malveillante d'invoquer des fonctions. Tester avec adb shell am start -a android.intent.action.VIEW -d "myapp://pay?amount=1".

4. WebView avec JavaScript bridge

addJavascriptInterface() expose méthodes Java au JS. Si la WebView charge du contenu externe, XSS = accès Java natif.

5. Insecure data storage

Shared Preferences non chiffrés, base SQLite en clair, fichiers dans /sdcard/, cache WebView avec données sensibles.

6. Crypto faible

MD5 / SHA-1 / DES / AES-ECB, IV hardcodé, clé dérivée d'un password court, absence de salt.

7. Insufficient server-side validation

Toute logique sensible côté client = contournable. Vérifier que chaque appel API revalide côté serveur.

Workflow recommandé 2026

Phase 1 - Triage (15-30 min)
  Télécharger APK, calculer hashes
  VirusTotal check
  MobSF scan automatique
  Lecture rapide du rapport MobSF
 
Phase 2 - Analyse statique (1-4 h)
  apktool d pour ressources et AndroidManifest
  JADX pour code Java/Kotlin
  Grep patterns secrets, URLs, crypto faible
  Identifier root detection, SSL pinning
 
Phase 3 - Préparation dynamique (30 min)
  Émulateur ou device rooté
  Frida server déployé
  Burp Suite configuré avec CA installée
  Objection testé
 
Phase 4 - Analyse dynamique (2-8 h)
  Bypass SSL pinning si présent
  Capture trafic API
  Hooking des méthodes sensibles
  Tests OWASP MASVS sections pertinentes
 
Phase 5 - Exploitation et PoC (variable)
  Tenter vulns identifiées
  Deep link abuse, intent injection
  Data extraction
 
Phase 6 - Rapport (1-3 h)
  Findings mappés MASVS + Mobile Top 10
  Sévérité CVSS
  Reproduction steps et PoC
  Remédiations techniques

Cadre légal en France et UE

Directive EU 2009/24/EC

Article 5-3 et article 6 autorisent le reverse pour :

  • Interopérabilité entre logiciels.
  • Recherche de sécurité.
  • Maintenance légitime.

LCEN France

Articles 323-1 à 323-7 criminalisent :

  • Accès et maintien non autorisé dans un SI.
  • Entrave au fonctionnement.
  • Introduction, modification, suppression frauduleuses.

Exception : recherche sur ses propres actifs.

Bonnes pratiques professionnelles

Pentest commercial :
  Contrat SOW signé avec scope explicite
  Autorisation écrite du propriétaire de l'APK
  Clauses de confidentialité
  Qualification PASSI si client régulé
 
Bug bounty :
  Programme public avec scope défini (HackerOne, YesWeHack)
  Respect du safe harbor légal du programme
  Responsible disclosure
 
Recherche personnelle :
  Apps téléchargées publiquement
  Analyse sans distribution modifiée
  Publication coordonnée (CVE, disclosure 90 jours)
 
À proscrire :
  Distribution d'APK cracké
  Exploitation d'une vuln sans autorisation
  Reverse d'une app avec scope commercial direct

Ressources d'apprentissage

OWASP officiels :
  MASVS v2.0 (masvs.org)
  MASTG (mas.owasp.org)
  Mobile Top 10 2024 (owasp.org/www-project-mobile-top-10)
 
Labs vulnérables pour pratiquer :
  DIVA (Damn Insecure and Vulnerable App)
  InsecureBankv2 (Dinesh Shetty)
  OWASP GoatDroid
  Injuredandroid (B3nac)
  Frida CodeShare (codeshare.frida.re)
 
Formation :
  SANS SEC575 Mobile Device Security
  OffSec OSWE (couvre partiellement mobile)
  8kSec, Corellium formations mobile
 
Livres :
  "Android Security Internals" (Nikolay Elenkov, 2014 mais intemporel)
  "The Mobile Application Hacker's Handbook" (Dominic Chell et al.)
  OWASP MASTG (gratuit en ligne)
 
Communauté :
  r/reverseengineering
  r/androiddev pour internals
  Frida Discord server
  Conférences : Black Hat Mobile, OFFENSIVECON, SSTIC

Points clés à retenir

  • APK = archive ZIP contenant AndroidManifest.xml, classes.dex, resources.arsc, res/, lib/, META-INF/. Depuis 2021, les nouvelles apps Google Play sont distribuées en AAB (Android App Bundle).
  • 5 outils essentiels 2026 : JADX (48k+ stars, décompilateur référence), apktool (24k+, resources + smali + repack), Frida (instrumentation dynamique), Objection (wrapper Frida pre-built), MobSF (scan automatisé complet).
  • Analyse statique 5 étapes : récupération APK (adb pull ou APKMirror), info de base (hashes, signature), apktool pour ressources et AndroidManifest, JADX pour code Java/Kotlin, MobSF pour automatisation.
  • Analyse dynamique : émulateur Android Studio AVD ou Genymotion ou device Pixel rooté + Magisk. Frida + Objection pour hooking. Burp Suite + CA système ou Frida SSL unpinning pour trafic.
  • Référentiels : OWASP MASVS v2.0 (8 catégories, 2 niveaux L1/L2), MASTG (testing guide détaillé), Mobile Top 10 OWASP 2024.
  • Bypass certificate pinning : 5 approches (Frida universal, apktool patch Network Security Config, objection patchapk avec Frida gadget, root + Burp CA système, Xposed modules).
  • Vulns fréquentes : hardcoded secrets, exposed components (exported=true), deep links non validés, WebView avec JS bridge, insecure storage, crypto faible (MD5/SHA-1/DES/ECB), validation côté client uniquement.
  • Cadre légal : EU Directive 2009/24/EC et LCEN autorisent recherche sécu et interopérabilité sur ses actifs. Pentest pro = contrat SOW signé obligatoire. Bug bounty = respect du scope et safe harbor.

Pour les fondamentaux du reverse engineering dont l'analyse d'APK est une spécialisation, voir qu'est-ce que le reverse engineering : définition 2026. Pour un parcours d'apprentissage complet, roadmap reverse engineering 2026 : parcours complet étape par étape détaille 4 étapes de progression. Pour l'outillage complet du pentester qui inclut mobile, consulter les outils de base du pentester en 2026. Pour la validation côté serveur complémentaire des APIs mobiles, voir validation des entrées : bonnes pratiques secure coding 2026.

Questions fréquentes

  • Qu'est-ce qu'un APK Android exactement ?
    Un APK (Android Package) est une archive ZIP renommée qui contient une application Android complète : AndroidManifest.xml (permissions, activités, services), classes.dex (bytecode Dalvik/ART), resources.arsc (ressources binaires), dossiers res/ (images, layouts, strings), lib/ (bibliothèques natives .so par architecture ARM/x86), META-INF/ (signature de l'app et manifest). Depuis Android 5+ (2014), le runtime ART remplace Dalvik. Depuis Android 8+, certaines apps Google Play sont distribuées en AAB (Android App Bundle) qui génère des APKs split côté Play Store.
  • Quels outils essentiels pour analyser un APK en 2026 ?
    Cinq outils de base. JADX (skylot, OSS, 48k+ stars GitHub) : décompilateur Dalvik → Java/Kotlin lisible, GUI ou CLI. apktool (iBotPeaches, OSS) : désassemble resources et bytecode smali, permet le repackaging. Frida (oleavr, OSS) : instrumentation dynamique runtime avec JavaScript pour hooker méthodes. Objection (sensepost, Frida-based) : wrapper Frida avec commandes pré-construites. MobSF (OpenSecurity, OSS) : scan automatisé complet avec rapport HTML. En complément : adb, Drozer, Burp Suite avec certificate unpinning.
  • Comment analyser un APK sans téléphone rooté ?
    L'analyse statique se fait sans device : JADX pour décompiler, apktool pour disséquer les resources, MobSF pour scan automatique. Aucun device requis. L'analyse dynamique peut utiliser un émulateur Android Studio (AVD) qui démarre rooté par défaut avec image non-Google (Google APIs restreint le root). Alternatives : Genymotion (commercial, émulateur rooté facile), Corellium (cloud, iOS + Android), WSA (Windows Subsystem for Android). Pour un vrai device : téléphone avec bootloader déverrouillable (Pixel recommandé) + Magisk pour root.
  • Qu'est-ce que le OWASP MASVS et le MASTG ?
    OWASP MASVS (Mobile Application Security Verification Standard) est le référentiel de sécurité applicative mobile équivalent au ASVS pour le web. Structure en 8 catégories (MASVS-STORAGE, MASVS-CRYPTO, MASVS-AUTH, MASVS-NETWORK, MASVS-PLATFORM, MASVS-CODE, MASVS-RESILIENCE, MASVS-PRIVACY 2024) avec 2 niveaux (L1 basique, L2 sensible). OWASP MASTG (Mobile Application Security Testing Guide) est le livre compagnon avec procédures de test détaillées pour Android et iOS. Référence absolue pour pentest mobile et secure coding mobile en 2026.
  • Comment bypasser le certificate pinning d'une app Android ?
    Cinq approches 2026. 1) Frida script : Universal Android SSL Pinning Bypass (Maddie Stone) via hooks sur SSLContext, X509TrustManager. 2) Objection : commande `android sslpinning disable` qui applique les hooks Frida automatiquement. 3) Patch apktool : modifier Network Security Config XML pour accepter user CA, puis repack et réinstaller. 4) Frida-tools + gadget : embarquer Frida dans l'APK directement via objection patchapk. 5) Rooter le device et installer Burp CA dans le system store (Android 7+ ignore les user CA par défaut). La méthode 1 ou 2 reste la plus rapide pour pentest.
  • Puis-je analyser un APK sans avoir l'autorisation du développeur ?
    Zone juridique nuancée 2026. Pour apprentissage personnel, recherche sécurité responsable, et bug bounty sur scope autorisé : acceptable dans la plupart des juridictions. Directive EU 2009/24/EC autorise le reverse pour interopérabilité et recherche sécu. LCEN France autorise l'analyse sur ses propres systèmes. Interdit typiquement : distribution d'APK modifié, contournement de DRM commercial, exploit d'une vuln sans responsible disclosure. Risque légal si : reverse d'une app Microsoft/Apple sans autorisation, modification et redistribution de l'APK, publication d'exploit non coordonné. Pour pentest professionnel : contrat et scope signés obligatoires.

Écrit par

Naim Aouaichia

Expert cybersécurité et fondateur de Zeroday Cyber Academy

Expert cybersécurité avec un master spécialisé et un parcours hybride : développement, DevOps, DevSecOps, SOC, GRC. Fondateur de Hash24Security et Zeroday Cyber Academy. Formateur et créateur de contenu technique sur la cybersécurité appliquée, la sécurité des LLM et le DevSecOps.