
APKデコンパイラ&シークレットスキャナー for Androidセキュリティリサーチ!APKファイルから漏洩したAPIキー、ハードコードされた認証情報、エンドポイントを抽出します。apk2url、APKリーク検出。バグバウンティ&ペンテスティングツール。apkleaks、MobSFの代替ツール!
APKデコンパイラ&シークレットスキャナ — Androidセキュリティ調査向け。AndroidアプリケーションからAPIキー、エンドポイント、トークン、その他の漏洩した認証情報を自動的に抽出します。
.apk、.xapk、.dex、.jar、.class、.smali、.zip、.aar、.arsc、.aab ファイルに対応。
apk2url抽出、apk leaks検出、Androidリバースエンジニアリングに最適。セキュリティ研究者、ペネトレーションテスター、バグバウンティハンターに利用されています。
ほとんどのAndroidアプリにはハードコードされたシークレットが含まれています。開発者はAWSキー、Firebaseトークン、API認証情報をコード内に直接隠し、難読化が保護してくれると考えがちですが、実際には保護されません。
APKprobeはAPKをデコンパイルし、難読化解除を実行し、すべてを正規表現パターンでスキャンして以下を検出します:
あらゆるAndroidアプリからURL、APIエンドポイント、バックエンドルートをすべて抽出します。以下に最適:
公開されるべきではない、忘れられた開発/ステージングエンドポイント、内部API、管理パネルを発見します。
セキュリティ上重要なコードを素早く特定:
フックすべき場所を正確に把握して、Fridaスクリプトを高速化します。
git clone https://github.com/wadingporque/apkprobe.git
cd apkprobe
python setup.py install
または開発モードでインストール:
pip install -e .
APKをシークレットスキャン:
apkprobe target.apk
URLとエンドポイントを抽出:
apkprobe target.apk -r endpoints
AWS/クラウド認証情報をスキャン:
apkprobe target.apk -r aws gcp azure
apkprobe app.apk
apkprobe app1.apk app2.apk app3.xapk
apkprobe --jadx --apktool --cfr app.apk
apkprobe app.apk -o results.json -f json
apkprobe app.apk -r /path/to/rules.json
apkprobe -r aws endpoints -o output.yaml -f yaml -c *.apk
apkprobe [OPTIONS] FILES...
Options:
-r, --rules FILES ルールファイルまたは組み込みセット(aws、gcp、azure、endpointsなど)
-o, --output FILE 出力ファイルパス
-f, --format FORMAT 出力形式: json、yaml、text
-g, --groupby TYPE グループ化: file、locator、both
-c, --cleanup スキャン後にデコンパイル済みファイルを削除
-q, --quiet 出力を抑制
Decompilers:
--jadx, -J JADXを使用(デフォルト)
--apktool, -A APKToolを使用
--cfr, -C CFRを使用
--procyon, -P Procyonを使用
--krakatau, -K Krakatauを使用
--fernflower, -F Fernflowerを使用
Advanced:
-d, --deobfuscate 難読化解除を有効化
-w, --working-dir DIR 作業ディレクトリ
--timeout SECONDS スキャンのタイムアウト
最大のカバレッジを得るために複数のデコンパイラを併用してください — ツールによって難読化の処理方法が異なります。
APKprobeは複数のルール形式に対応しています。独自のルールを作成するか、既存のパターンデータベースを使用できます。
| 形式 | 拡張子 |
|---|---|
| APKprobe JSON | .json |
| Gitleaks | .toml |
| secret-patterns-db | .yaml |
| シンプルなキー・バリュー |
{
"id": "stripe-api-key",
"name": "Stripe API Key",
"pattern": "sk_live_[a-zA-Z0-9]{24}",
"confidence": "high"
}
aws — AWS認証情報、S3バケット、ARNgcp — Google Cloud APIキー、サービスアカウントazure — Azure接続文字列、キーendpoints — URL、APIルート、webhookgeneric — 一般的なAPIキーパターンgitleaks — 完全なgitleaksルールセットAPKprobeはデコンパイルとスキャンの両方に並列処理を使用します。
# スキャンに8ワーカーを使用
apkprobe app.apk -smw 8
# スレッドの代わりにマルチプロセッシングを使用
apkprobe app.apk -sct process
ヒント:
--cleanupを使用してディスク容量を節約してくださいAPKprobeは以下のツールと類似しています:
APKprobeはデコンパイル+スキャンを1つのツールに統合し、複数のデコンパイラに対応しています。
バグを発見しましたか?アイデアがありますか?PR歓迎です。
git clone https://github.com/wadingporque/apkprobe.git
cd apkprobe
python setup.py install
endpointsルールセットを指定してAPKprobeを使用し、すべてのURL、APIエンドポイント、バックエンドルートを抽出します:
apkprobe app.apk -r endpoints -o urls.json
これにより、デコンパイル後にapk2url抽出が自動的に実行されます。
APKprobeは250以上の正規表現パターンを使用して、デコンパイルされたコード内のハードコードされたシークレットをスキャンします:
apkprobe app.apk -r aws gcp azure
AWSキー、Firebaseトークン、Stripeキー、その他の漏洩した認証情報を検出します。
APKprobeは複数のデコンパイラに対応しています — 最良の結果を得るために併用してください:
apkprobe --jadx --apktool --cfr app.apk
デコンパイラによって難読化の処理方法が異なるため、組み合わせることでカバレッジが向上します。
はい。APKprobeはAndroidペネトレーションテストとバグバウンティの偵察用に設計されています。対象アプリからエンドポイント、APIキー、ハードコードされたシークレットを抽出して、攻撃対象領域を迅速にマッピングします。
wadingporque
MITライセンス。詳細はLICENSEを参照してください。
| デコンパイラ | タイプ | 備考 |
|---|
| JADX | Java | デフォルト、ほとんどのAPKに最適 |
| APKTool | Smali | リソース+マニフェスト |
| CFR | Java | 難読化されたコードに有効 |
| Procyon | Java | 代替デコンパイラ |
| Krakatau | Java | エッジケースに対応 |
| Fernflower | Java | IntelliJのデコンパイラ |
.json |