
SSLPinDetect est un outil d'analyse des APK Android pour détecter les implémentations d'épinglage SSL en recherchant des motifs connus dans le code décompilé. Il aide les chercheurs en sécurité et les testeurs d'intrusion à identifier les mécanismes d'épinglage SSL utilisés dans les applications mobiles.
SSLPinDetect est un outil pour analyser les APK Android afin de détecter les implémentations de SSL Pinning en recherchant des motifs connus dans le code smali décompilé. Il aide les chercheurs en sécurité et les testeurs d'intrusion à identifier efficacement les mécanismes de SSL Pinning utilisés dans les applications mobiles.
git clone https://github.com/aancw/SSLPinDetect
cd SSLPinDetect
pip install -r requirements.txt
python sslpindetect.py -f <chemin_apk> -a <chemin_apktool> -p <fichier_patterns> [-v]
-f, --file (obligatoire) : Chemin vers le fichier APK.-a, --apktool (obligatoire) : Chemin vers le fichier jar d'apktool.-p, --pattern (optionnel) : Chemin vers le fichier JSON contenant les motifs de SSL Pinning (par défaut : patterns.json).-v, --verbose (optionnel) : Active les logs détaillés.✅ 1. Utilisation de base (sans mode verbeux ni motifs personnalisés) :
python sslpindetect.py -f app.apk -a apktool.jar
🔍 2. Activer le mode verbeux (pour une sortie détaillée) :
python sslpindetect.py -a apktool_2.11.0.jar -f sample/app-release.apk -v
Processing APK...
APK successfully decompiled.
Scanning Smali Files: 100%|█████████████████████| 100/100 [00:05<00:00, 19.76it/s]
Pattern Matched: 5
Total Patterns Matched: 5
Pattern detected: OkHttp Certificate Pinning
- smali/com/example/app/MainActivity.smali
[Line 45]: invoke-static {v0}, Lcom/squareup/okhttp/CertificatePinner;->check(Ljava/lang/String;)V
🛠️ 3. Utiliser des motifs de SSL Pinning personnalisés :
python sslpindetect.py -f app.apk -a apktool.jar -p custom_patterns.json
patterns.json)Téléchargez le dernier fichier de motifs : smali-sslpin-patterns
Exemple du fichier patterns.json
{
"OkHttp Certificate Pinning": [
"Lcom/squareup/okhttp/CertificatePinner;",
"Lokhttp3/CertificatePinner;",
"setCertificatePinner"
],
"TrustManager Override": [
"Ljavax/net/ssl/X509TrustManager;",
"checkServerTrusted"
]
}
Ce projet est sous licence MIT.
🚀 Prêt à faire passer SSLPinDetect au niveau supérieur ? Contribuez avec vos idées, améliorations ou signalez des problèmes pour rendre cet outil encore plus puissant ! Construisons ensemble quelque chose d'extraordinaire !
