Hello there, ('ω')ノ
🧭 全体像:診断ツールの使い分けマップ
| 目的 | ツール名 | 用途 | 特徴 |
|---|---|---|---|
| 静的解析 | MobSF | APKを読み取り、設定やコードをチェック | 初心者向け・GUIで使いやすい |
| 動的解析 | Drozer | 実機に接続して動作確認・攻撃再現 | 実機診断の定番・細かく制御できる |
| ランタイム解析 | Frida | アプリの動作中に関数の動きを書き換える | 上級者向け・リアルタイム監視 |
| 通信解析 | Burp Suite | HTTPS通信の中身を確認・改ざん | Webアプリと同じ感覚で使える |
| コード解析 | jadx | Javaコードに変換してコードを読む | 逆コンパイルの定番ツール |
| 分解・再構築 | apktool | マニフェストやリソースを分解・編集 | コマンド操作だが超基本 |
🧪 それぞれのツールをもう少し詳しく!
🔍 MobSF(Mobile Security Framework)
用途:
- APKファイルの解析(静的解析)
- 端末を使った実行(動的解析)※オプション
特徴:
- Webブラウザ上で診断レポートをGUI表示
- 脆弱性の一覧やスコア表示で分かりやすい
- 初心者でも扱いやすく、とにかく便利
できること:
- 要求権限の可視化
- 暗号キーやAPIの埋め込み検出
- マニフェストのExport設定確認
- 通信先の確認(IP/URLなど)
- 脆弱性ごとのリスク判定
🕵️ Drozer
用途:
- 実機を使った動的診断ツール
- アプリのコンポーネント(Activity, Service, ContentProviderなど)に対する攻撃再現
特徴:
- 専用のAgentアプリを実機にインストール
- コマンドで診断 → 他アプリから呼び出し可能か確認
- Android特有の診断に特化した「純正ハッカー用ツール」
できること:
- 他アプリに公開されたActivityの呼び出し
- Content Providerからの情報抽出
- ブロードキャストの偽装送信
- 権限昇格のチェック
- 特定パーミッションのバイパス
Drozerは2020年に公式サポートが終了していますが、診断の定番ツールとして根強く使われ続けています(Fork版あり)。
🧬 Frida
用途:
- アプリの動作中にリアルタイムで関数を書き換える
- 通信内容やパスワードの暗号化ロジックを調査できる
特徴:
- ランタイム解析が可能(実行時の変数を見たり操作したり)
- JavaScriptベースのスクリプトで柔軟な分析
- Root権限またはFrida Server導入が必要(やや中~上級者向け)
できること:
Log.d()の内容をフック- 平文のパスワード・トークンを抽出
- 改ざん検知ロジックの無効化
- アプリ内の処理ルートを追跡
🌐 Burp Suite
用途:
- スマホアプリの通信(特にHTTPS)をキャプチャ・確認
- 通信中のデータを改ざんして挙動をチェック
特徴:
- Webアプリと同じ手法でスマホアプリの通信を見る
- プロキシを挟んで、実機やエミュレータの通信を“盗み見”できる
できること:
- HTTPS通信内容の可視化
- 認証トークンやセッションIDの検出
- 通信先サーバーとのやり取りの改ざん
- 中間者攻撃の再現(MITM)
🔎 jadx(+apktool)
jadx:Javaコードに逆コンパイルして、アプリロジックを読むapktool:アプリの構造を分解・再構築して、構成ファイルや設定を見る
両方組み合わせることで、アプリの中身を“コード+設計図”の両面から分析できます。
🧠 どう使い分けるのが良い?
| フェーズ | ツール | 目的 |
|---|---|---|
| 事前調査 | MobSF / jadx / apktool | 権限・構成・埋め込み情報を確認 |
| 実機診断 | Drozer / Burp / Frida | アプリの動き・通信を実際に試す |
| 詳細解析 | Frida / logcat / shell | 特定機能の裏側を詳しく追跡 |
初心者は MobSFとDrozerから始めて、徐々にFridaやBurpにステップアップするのがオススメです。
✅ まとめ
- Androidアプリの診断には、目的別にいくつものオープンソースツールがある
- 静的解析は MobSF・jadx・apktool、動的解析は Drozer・Frida・Burp Suite
- ツールを組み合わせれば、設計・動作・通信すべてをチェック可能
- まずは「MobSFで概要」「Drozerで挙動確認」から始めるとスムーズ!
Best regards, (^^ゞ