
静的、動的、リバースエンジニアリングツールを統合したモジュラー型Android APKセキュリティ分析フレームワークで、モバイルアプリケーションの包括的な脆弱性評価とペネトレーションテストを実現します。
____ __ ____ __
/ /\ \__ ______ _____/ /________ _/ _/___ _________ ___ _____/ /_
/ / / / / / / __ `/ __ / ___/ __ `// // __ \/ ___/ __ \/ _ \/ ___/ __/
/ /_/ / /_/ / /_/ / /_/ / / / /_/ // // / / (__ ) /_/ / __/ /__/ /_
\___\\_\__,_/\__,_/\__,_/_/ \__,_/___/_/ /_/____/ .___/\___/\___/\__/
/_/
QuadraInspectは、AndroPass、APKUtil、RMS、MobFSを統合したAndroidフレームワークであり、Androidアプリケーションのセキュリティを分析するための強力なツールを提供します。AndroPassは、Androidアプリケーションの認証および認可メカニズムのセキュリティ分析に焦点を当てたツールであり、APKUtilはAPKファイルから貴重な情報を抽出するツールです。最後に、MobFSとRMSは、アプリケーションのストレージを仮想環境にマウントすることで、そのファイルシステムの分析を容易にします。
これら3つのツールを組み合わせることで、QuadraInspectはAndroidアプリケーションの脆弱性分析に対する包括的なアプローチを提供します。このフレームワークは、開発者、セキュリティ研究者、ペネトレーションテスターが自身またはサードパーティのアプリケーションのセキュリティを評価するために使用できます。QuadraInspectは3つのツールすべてに統一されたインターフェースを提供し、使いやすさを向上させ、包括的な脆弱性分析にかかる時間を短縮します。最終的に、このフレームワークはAndroidアプリケーションのセキュリティを向上させ、ユーザーの機密データを潜在的な脅威から保護することを目的としています。
QuadraInspectは標準的なPythonプロジェクトとしてパッケージ化されており、
uvパッケージマネージャーで管理されています。
最速の方法 — uv、すべてのPython依存関係、および統合されたすべての
ツールとアドオンを1つのコマンドでインストールします:
git clone https://github.com/morpheuslord/QuadraInspect
cd QuadraInspect
./install.sh # Linux / macOS (use sudo where tools require it)
Windowsでは、クローンしたディレクトリからinstall.batを実行します。--deps-onlyを渡すと、
Python依存関係のみをインストールし、ツールをスキップします。
以下のステップバイステップの手順は、同じことを手動で行います。
curl -LsSf https://astral.sh/uv/install.sh | sh
(Windowsおよびその他の方法については、uvインストールガイドを参照してください。)
git clone https://github.com/morpheuslord/QuadraInspect
cd QuadraInspect
uv sync
uv syncは分離された仮想環境を作成し、ロックされた依存関係セット(uv.lock)から
QuadraInspectをインストールします。バンドルされた分析スクリプトはいくつかの
追加ライブラリを必要とします。以下でインストールしてください:
uv sync --extra tools
uv run quadrainspect # interactive (frame) mode
モジュールとして、またはレガシーエントリポイント経由で実行することもできます:
uv run python -m quadrainspect
uv run python main.py
Linux/macOSでは、一部の統合ツールが昇格された権限を必要とします。必要な場合は
sudoを付けてコマンドを実行してください。
QuadraInspectがロードされたら、以下を実行します:
QuadraInspect Main>> START install_tools
統合ツールおよびすべてのオプションのアドオンを一度にインストールするには、 以下を使用します:
QuadraInspect Main>> START full_install
ツールはtoolsディレクトリにダウンロードされ、各ツールの独自のセットアップ手順が
自動的に実行されます。
アドインはオプションのコミュニティ提供ツールです。これらは
quadrainspect/tools/addins.py内でAddOnオブジェクトとして宣言されているため、
新しいアドインの提供は、その依存関係とインストール用のcallableを持つ
単一のエントリを追加するだけで済みます — 編集すべきswitch/match文はありません。
update addinsまたは
update-addinsコマンドを使用して更新できます。これはチェックアウトに対してgit pullを実行します。START addinsコマンドでインストールします。どちらもJavaランタイム環境が必要です。各モジュールにはヘルプ機能があり、コマンドと説明が詳細で、操作のために変更できます。
sudoユーザーとして実行する必要がありますAdminとして実行でき、残りはすべて通常ユーザーとして実行できますスムーズに動作させるために対処すべき重要なポイントは以下のとおりです:
argsを使用するか、ツール内でSET targetを使用して宣言できます。targetフォルダに配置する必要があります。すべてのツールがそのフォルダでターゲットファイルを検索するためです。2つのモードがあります:
|
└─> F mode
└─> A mode
fモードは、プロンプトなどを備えたフレームワークの対話型バリエーションを使用するためのアクティブなインターフェースが得られるモードです。

Fモードは通常モードであり、簡単に使用できます
Aモードまたは引数モードは、引数を介して入力を受け取り、ユーザーの介入なしにコマンドを実行します。これは現在メインメニューに限定されていますが、将来的にはこの機能を組み込まれたコードにまで拡張する予定です。
uv run quadrainspect --target <APK_file> --mode argm --command install_tools/tools_name/apkleaks/mobfs/rms/apkleaks

ツール全体のメインメニューには、以下のオプションとコマンドがあります:
Frame mode:
| Command | Description |
|---|---|
SET target | ターゲットファイルの名前を設定します |
START install_tools | インストールされていない場合、ツールをインストールします |
START full_install | すべてのツールとアドオンを一度にインストールします |
LIST tools_name | 統合されたツールを一覧表示します |
START apkleaks | APKLeaksツールを使用します |
START mobfs | 動的および静的解析にMOBfsを使用します |
START andropass | AndroPass APKアナライザーを使用します |
START addins | 追加ツールインストーラーを起動します |
update addins | 追加ツールインストーラーを更新します |
help | ヘルプメニューを表示します |
SHOW banner | バナーを表示します |
quit | プログラムを終了します |
Args mode:
| Command | Description |
|---|---|
install_tools | インストールされていない場合、ツールをインストールします |
full-install | すべてのツールとアドオンを一度にインストールします |
tools_name | 統合されたツールを一覧表示します |
apkleaks | APKLeaksツールを使用します |
mobfs | 動的および静的解析にMOBfsを使用します |
andropass | AndroPass APKアナライザーを使用します |
addins | 追加ツールインストーラーを起動します |
addins | 追加ツールインストーラーを更新します |
help | ヘルプメニューを表示します |
banner | バナーを表示します |
上記のように、ツールを使用する前にターゲットを設定する必要があります。
APKLeaksメニューも非常に簡単で、考慮すべき点はわずかです:
SET outputとSET json-outオプションは、実際のファイルではなくファイル名を受け取り、resultディレクトリに出力を作成します。SET patternオプションは、jsonパターンファイルの名前を受け取ります。JSONファイルはpatternディレクトリに配置する必要があります| OPTION | SET Value |
|---|---|
SET output | スキャンデータファイル名の出力 |
SET arguments | 追加の逆アセンブリ引数 |
SET json-out | JSON出力ファイル名 |
SET pattern | シークレットの事前検索パターン |
help | ヘルプメニューを表示します |
return | メインメニューに戻ります |
quit | ツールを終了します |
Mobfsは非常に簡単で、ポート番号に注意する必要があるだけです。デフォルトではポート5000で、プログラムを起動してブラウザで127.0.0.1:5000に接続するだけです。
AndroPassも非常に簡単で、ファイルを入力として受け取り、他の入力なしでその役割を果たします。
QuadraInspectはモジュール式のオブジェクト指向アーキテクチャに従っています。フレームワークのコアは
quadrainspectパッケージにあり、各統合ツールは自己完結型の
クラスです。
quadrainspect/
├── cli.py # argument parsing / process entry point
├── app.py # orchestrator + shared frame/argument menu spec
├── shell.py # interactive REPL base class
├── registry.py # command registry (dispatch + auto-generated help)
├── runner.py # centralised subprocess execution (no shell injection)
├── platform.py # OS abstraction
├── session.py # workspace layout + runtime state (target, paths)
├── console.py # shared console, logging, banner
├── net.py # dependency-free downloads
├── exceptions.py # typed error hierarchy
└── tools/ # one class per integrated tool
├── base.py # Tool / OneShotTool / InteractiveTool + ToolContext
├── apkleaks.py, apkeditor.py, andropass.py, backdoor.py,
├── mobfs.py, rms.py, installer.py, addins.py, updater.py
主要な設計ポイント:
match/switchブロックではなく、ファーストクラスのCommandオブジェクトの
CommandRegistryを介してディスパッチされます。ヘルプテーブルは同じレジストリから生成されるため、
コマンドと同期がずれることはありません。app.py内の単一のMenuEntryオブジェクトのリストによって駆動されます。CommandRunnerを介して
引数リスト(shell=False)として実行されるため、ターゲットファイル名などの
ユーザー提供値がシェルによって解釈されることはありません。QuadraInspectErrorのサブクラスを発生させ、
REPLをクラッシュさせることなくクリーンに報告されます。