
SSLPinDetect — это инструмент для анализа Android APK на предмет обнаружения реализаций SSL-пиннинга путем сканирования известных шаблонов в декомпилированном коде. Он помогает исследователям безопасности и пентестерам выявлять механизмы SSL-пиннинга, используемые в мобильных приложениях.
SSLPinDetect — это инструмент для анализа Android APK-файлов с целью обнаружения реализаций SSL-пиннинга путем сканирования известных шаблонов в декомпилированном smali-коде. Он помогает специалистам по безопасности и пентестерам эффективно выявлять механизмы SSL-пиннинга, используемые в мобильных приложениях.
git clone https://github.com/aancw/SSLPinDetect
cd SSLPinDetect
pip install -r requirements.txt
python sslpindetect.py -f <apk_path> -a <apktool_path> -p <pattern_file> [-v]
-f, --file (обязательно): Путь к APK-файлу.-a, --apktool (обязательно): Путь к JAR-файлу apktool.-p, --pattern (необязательно): Путь к JSON-файлу, содержащему шаблоны SSL-пиннинга (по умолчанию: patterns.json).-v, --verbose (необязательно): Включить подробное логирование.✅ 1. Базовое использование (без подробного режима и пользовательских шаблонов):
python sslpindetect.py -f app.apk -a apktool.jar
🔍 2. Включение подробного режима (для детального вывода):
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. Использование пользовательских шаблонов SSL-пиннинга:
python sslpindetect.py -f app.apk -a apktool.jar -p custom_patterns.json
patterns.json)Скачайте последний файл шаблонов: smali-sslpin-patterns
Пример файла patterns.json
{
"OkHttp Certificate Pinning": [
"Lcom/squareup/okhttp/CertificatePinner;",
"Lokhttp3/CertificatePinner;",
"setCertificatePinner"
],
"TrustManager Override": [
"Ljavax/net/ssl/X509TrustManager;",
"checkServerTrusted"
]
}
Этот проект лицензирован под лицензией MIT.
🚀 Готовы вывести SSLPinDetect на новый уровень? Вносите свои идеи, улучшения или создавайте issues, чтобы сделать этот инструмент еще более мощным! Давайте создавать что-то потрясающее вместе!
