
SSLPinDetectは、Android APKを解析して、デコンパイルされたコード内の既知のパターンをスキャンすることでSSLピンニングの実装を検出するツールです。これは、セキュリティ研究者やペネトレーションテスターがモバイルアプリケーションで使用されるSSLピンニングメカニズムを特定するのに役立ちます。
SSLPinDetect は、デコンパイルされたsmaliコード内の既知のパターンをスキャンしてSSLピンニングの実装を検出するAndroid APK解析ツールです。セキュリティ研究者やペネトレーションテスターがモバイルアプリケーションで使用されている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 (必須): apktool jarファイルへのパス。-p, --pattern (オプション): SSLピンニングパターンを含むJSONファイルへのパス (デフォルト: patterns.json)。-v, --verbose (オプション): 詳細ログを有効化。✅ 1. 基本使用法 (verboseモードとカスタムパターンなし):
python sslpindetect.py -f app.apk -a apktool.jar
🔍 2. Verboseモードを有効化 (詳細出力):
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をさらに進化させる準備はできていますか?アイデアの提案、改善、問題の報告などでこのツールをより強力にしましょう!一緒に素晴らしいものを作り上げましょう!
