
Boîte à outils Frida qui contourne l'épinglage de certificats SSL/TLS sur les applications Android, en hookant Java TrustManager, OkHttp, Conscrypt et les couches natives OpenSSL/BoringSSL.
Contournement universel du SSL/TLS Certificate Pinning pour Android
Auteur : Danieldev (GitHub : @danieldev23 | Telegram : @zadevz)
Une boîte à outils Frida complète qui neutralise le SSL pinning sur n'importe quelle application Android — couvrant à la fois les couches Java et Native, du pinning OkHttp standard à l'implémentation native proxygen personnalisée de Facebook.
| Fonctionnalité | Statut |
|---|---|
| Java TrustManager / SSLContext | ✅ |
| HostnameVerifier (Autorise tous les noms d'hôtes) | ✅ |
| OkHttp CertificatePinner (Standard) | ✅ |
| OkHttp Obfusqué (FB, applications bancaires) | ✅ |
| Conscrypt / Fournisseur TLS Android | ✅ |
| NetworkSecurityConfig (Android 7.0+) | ✅ |
| Contournement des erreurs SSL de WebViewClient | ✅ |
| Client Apache HTTP (Applications héritées) | ✅ |
| Bibliothèque de pinning TrustKit | ✅ |
| OpenSSL / BoringSSL natif | ✅ |
Flutter (ssl_verify_peer_cert) | ✅ |
Facebook Proxygen (verifyWithMetrics) | ✅ |
| Détection automatique des modules SSL chargés | ✅ |
| Remplacement natif par CModule (0 ms de surcoût) | ✅ |
| Script | Description |
|---|---|
scripts/universal_bypass.js | Script universel — fonctionne sur n'importe quelle application Android |
scripts/fb4a_bypass.js | Script optimisé spécifiquement pour Facebook (FB4A) avec symboles confirmés par Ghidra |
pip install frida-tools)frida-server en cours d'exécution dans /data/local/tmp/ sur l'appareilrun.sh# Clone the repository
git clone https://github.com/danieldev23/frida-ssl-bypass.git
cd frida-ssl-bypass
# Make the runner executable
chmod +x run.sh
# ── Universal bypass (Any app) ──
./run.sh -p com.example.app # Attach to running app
./run.sh -p com.example.app -m spawn # Spawn app and hook
# ── Facebook specific bypass ──
./run.sh -p com.facebook.katana -s fb4a # FB4A optimized mode
./run.sh # Default: Attach to Facebook
# ── Direct Frida CLI usage ──
frida -U -f com.instagram.android -l scripts/universal_bypass.js
frida -U -p 1234 -l scripts/universal_bypass.js
run.sh)./run.sh [options]
-p, --package <name> Target package name (default: com.facebook.katana)
-s, --script <name> Script to use: fb4a | universal (default: universal)
-m, --mode <mode> Mode: attach | spawn (default: attach)
-h, --help Show help message
SSLContext.init() → Injects TrustAllManager (trusts all certificates)
HostnameVerifier → Returns true for all domain names
CertificatePinner.check() → Noop (scans for standard and obfuscated classes)
Conscrypt → Bypasses certificate chain verification
NetworkSecurityConfig → Trusts user-added CA certificates
WebViewClient → Automatically proceeds on SSL errors
SSL_CTX_set_verify() → Forces SSL_VERIFY_NONE (0)
SSL_get_verify_result() → Always returns X509_V_OK (0)
SSL_set_custom_verify() → Disables custom verification callback
verifyWithMetrics() → CModule stub returns TRUE (Facebook Proxygen)
ssl_verify_peer_cert() → Returns 1 (Flutter / Dart Engine)
La boîte à outils détecte automatiquement les modules SSL chargés en mémoire à l'aide de deux stratégies :
android_dlopen_ext / dlopen pour intercepter les bibliothèques SSL natives au moment de leur chargement en RAM (avec repli sur un polling à intervalle croissant).frida-ssl-bypass/
├── README.md # Documentation (English)
├── LICENSE # MIT License
├── run.sh # Auto-runner script for frida-server & hooks
├── .gitignore
└── scripts/
├── universal_bypass.js # Universal bypass script for any app
└── fb4a_bypass.js # FB4A specific optimized bypass script
Ce projet est destiné strictement à la recherche en sécurité et à des fins éducatives. N'utilisez cet outil que sur des applications que vous possédez ou pour lesquelles vous disposez d'une autorisation explicite d'audit. L'auteur décline toute responsabilité en cas de mauvaise utilisation.
Distribué sous licence MIT — Voir LICENSE pour tous les détails.
| Application | Nom du package | Script recommandé | Notes |
|---|
com.facebook.katana | fb4a / universal | Contournement Proxygen natif C/C++ | |
com.instagram.android | universal | OkHttp + OpenSSL natif | |
com.whatsapp | universal | Noise Protocol + SSL natif | |
| Twitter / X | com.twitter.android | universal | Pinning OkHttp |
| TikTok | com.zhiliaoapp.musically | universal | Vérification personnalisée BoringSSL |
| Applications bancaires | variable | universal | Conscrypt + TrustKit |
| Applications Flutter | variable | universal | Hook de la chaîne de vérification dans libflutter.so |
| React Native | variable | universal | Couvre la couche OkHttp sous-jacente |