Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
AndroPyTool — Androidアプリケーションから静的および動的特徴を自動抽出するためのフレームワーク | Kitploit
ツール/GitHubGitHub/alexmyg/andropytool
Androidセキュリティ静的分析動的分析 (サンドボックス)マルウェア分析モバイルセキュリティ
GitHubalexmyg/andropytool

AndroPyTool

Androidアプリケーションから静的および動的特徴を自動抽出するためのフレームワーク

リポジトリを見る
381686年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

AndroPyTool

更新!DroidBoxのイメージが修正されました。動的解析が動作するようになりました。

これは、Android APKから静的および動的特徴を抽出するためのツールです。DroidBox、FlowDroid、Strace、AndroGuard、VirusTotal分析など、よく知られたAndroidアプリ分析ツールを組み合わせています。APKファイルを含むソースディレクトリを指定すると、AndroPyToolはこれらすべてのツールを適用して、静的解析前、静的解析、動的解析を実行し、JSONおよびCSV形式の特徴ファイルを生成し、MongoDBデータベースにすべてのデータを保存することもできます。

詳細については、以下の2つの論文をお読みください。

  • Martín, A., Lara-Cabrera, R., & Camacho, D. (2018). Android malware detection through hybrid features fusion and ensemble classifiers: the AndroPyTool framework and the OmniDroid dataset. Information Fusion. DOI: 10.1016/j.inffus.2018.12.006

  • Martín, A., Lara-Cabrera, R., & Camacho, D. (2018). A new tool for static and dynamic Android malware analysis. In Data Science and Knowledge Engineering for Sensing Decision Support (pp. 509-516). World Scientific.

このツールを使用する場合は、上記の研究を論文で引用してください。

alt text

インストール方法

AndroPyToolのインストールと使用には2つの方法があります。

モードA - Docker: 必要なファイルがすべて含まれたDockerコンテナをダウンロードします。これが推奨される方法です。わずか2ステップでAndroPyToolを実行できます。

モードB - ソースコード: 必要なライブラリをすべてインストールして設定し、Pythonソースコードを実行します。

モードA - Dockerコンテナの使用

AndroPyToolの高速で信頼性の高いバージョンを提供するために、Dockerコンテナが構築されています。Dockerを使用してAndroPyToolを使用するには、以下の手順を実行するだけです。

  • Dockerをインストールします(まだインストールしていない場合)。手順はこちらに従ってください。Ubuntuを使用していない場合は、適切なオペレーティングシステムに変更してください。

  • Docker Hubからコンテナをプルします:

    root@kitploit:~
    $ docker pull alexmyg/andropytool
    
  • コンテナを起動してAndroPyToolを実行します:

    root@kitploit:~
    $ docker run --volume=</PATH/TO/FOLDER/WITH/APKS/>:/apks alexmyg/andropytool -s /apks/ <ARGUMENTS>
    

    </PATH/TO/FOLDER/WITH/APKS/> を、分析するapkが含まれるホスト上のパスに置き換えてください。上記の行のように、引数 "-s" は /apks/ を指すように指定する必要があります。

    注2: AndroPyToolは、整理された作業ディレクトリを生成するために、APKファイルを異なるサブフォルダに移動します。フォルダ構造のスキームを参照してください。

AndroPyToolに指定できる引数は異なります:

  • -h:ヘルプメッセージを表示して終了します。
  • -all, --allsteps:AndroPyToolのすべてのステップを実行します(推奨)。VirusTotalレポートを取得するには、引数 -vt とそれに続くVirusTotal APIキーも指定する必要があります。-all オプションが指定されていない場合は、指定された引数に加えて最後のステップのみが実行されます。
  • -s SOURCE_FOLDER, --source SOURCE_FOLDER:分析するAPKを含むフォルダ。すべてのサンプルは .apk 拡張子を持つ必要があります。以前のAndroPyToolの実行が中断された場合は、以前の作業ディレクトリを指定する必要があります。
  • -S, --single:個々の分析を別々に保存します。デフォルト:False。
  • -f, --filter:有効なAPKと無効なAPKをフィルタリングします(推奨)。
  • -vt VIRUSTOTAL_API_KEY, --virustotal VIRUSTOTAL_API_KEY:VirusTotalサービスでアプリケーションを分析します。VirusTotal APIキーを続けて指定する必要があります。
  • -cl, --classify:VirusTotalレポートに基づいてアプリをマルウェアまたは良性ウェアに分類します。--virustotal 引数を設定する必要があります。

モードB - ソースコードの使用

注意:この手順はUbuntuでのみテストされています。

0. 必要条件

  • AndroPyToolには一連の依存関係があります。以下のコマンドを実行してすべてをインストールできます:
    root@kitploit:~
    $ sudo apt-get update
    $ sudo apt-get install -y --no-install-recommends software-properties-common wget git lib32gcc1 lib32ncurses5 lib32stdc++6 lib32z1 libc6-i386 libgl1-mesa-dev python-pip python-dev gcc python-tk curl
    $ sudo add-apt-repository ppa:webupd8team/java -y
    $ sudo apt-get update
    $ sudo echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
    $ sudo apt-get install -y oracle-java8-installer
    $ sudo apt-get install -y python-setuptools
    $ sudo apt-get clean
    

1. Android SDKをインストールする必要があります(すでにインストールしている場合は次の手順に進んでください) 次の手順で、GUIモードなしでAndroid SDKをインストールできます:

  • Android SDKをダウンロードして解凍します:

    root@kitploit:~
    $ cd
    $ wget http://dl.google.com/android/android-sdk_r24.2-linux.tgz
    $ tar -xvf android-sdk_r24.2-linux.tgz
    
  • Android SDKをパスに追加します(Bashを使用していない場合(例:Zshを好む場合)は、適切なファイルを変更することを忘れないでください)。そのために、次の2行を ~/.bashrc ファイルに追加します:

    root@kitploit:~
    export ANDROID_HOME=$HOME/android-sdk-linux/
    export PATH=$PATH:$ANDROID_HOME/tools
    export PATH=$PATH:$ANDROID_HOME/platform-tools
    
  • 次のコマンドで現在のセッションにライブラリを読み込みます:

    root@kitploit:~
    $ source ~/.bashrc
    

2. Android 16パッケージをインストールする必要があります

  • DroidBoxがサポートするバージョンであるAndroid 16(プラットフォームとシステムイメージ)をインストールしましょう:
    root@kitploit:~
    $ echo y | android update sdk --filter platform-tools --no-ui --force -a
    $ echo y | android update sdk --filter tools --no-ui --force -a
    $ echo y | android update sdk --filter android-16 --no-ui --force -a
    $ echo y | android update sdk --filter sys-img-armeabi-v7a-android-16 --no-ui -a
    

3. リポジトリをダウンロードしましょう

  • これで、GitHubからAndroPyToolリポジトリをダウンロードできます。これには依存関係も含まれてダウンロードされます。DroidBoxの場合は、元のDroidBoxリポジトリの最新リリースもダウンロードされ、システムイメージとRAMイメージがコピーされます:
    root@kitploit:~
     $ git clone --recursive https://github.com/alexMyG/AndroPyTool.git
     $ wget https://github.com/alexMyG/AndroPyTool/releases/download/droidbox_images_patched/images_droidbox.zip
     $ unzip -o images_droidbox.zip -d AndroPyTool/DroidBox_AndroPyTool/images
     $ touch AndroPyTool/avclass/__init__.py
    

3. DroidBoxを準備しましょう

  • すべてのスクリプトに必要な権限を付与する必要があります:
    root@kitploit:~
    $ chmod 744 AndroPyTool/DroidBox_AndroPyTool/*.sh
    
  • 次に、Androidデバイスを作成する必要があります:
    root@kitploit:~
    $ echo "no" | AndroPyTool/DroidBox_AndroPyTool/createDroidBoxDevice.sh
    

4. 必要なPythonライブラリをインストールしましょう

  • このリポジトリにはいくつかのPythonライブラリが必要です。仮想環境の使用をお勧めします。必要ない場合は次の手順に進んでください: virtualenv をインストールします:
    root@kitploit:~
    $ sudo pip install virtualenv
    
    仮想環境を作成してアクティブ化します:
    root@kitploit:~
    $ virtualenv droidbox_env
    $ source droidbox_env/bin/activate
    
  • 以下のPythonライブラリが必要です:
    root@kitploit:~
    $ pip install -r AndroPyTool/requirements.txt
    

5. これでAndroPyToolを実行できます

  • すべてが正常であれば、AndroPyToolを実行できます:
    root@kitploit:~
    $ cd AndroPyTool/
    $ python androPyTool.py -s </PATH/TO/FOLDER/WITH/APKS/>
    
  • 使用可能な引数は、上記のDockerセクションを参照してください。

入力および出力フォルダ構造

入力: ".apk" 拡張子を持つファイルを含むフォルダ。 出力: 次のスキームに従ったフォルダ構造:

root@kitploit:~
/                      --> ルートフォルダ
/samples/              --> サンプル(元はルートフォルダにありました)
/samples/BW/           --> 良性ウェアサンプル
/samples/MW/           --> マルウェアサンプル
/invalid_apks/         --> 見つかった無効なapk
/VT_analysis/          --> VirusTotal分析レポート
/FlowDroid_outputs/    --> FlowDroidの結果
/FlowDroid_processed/  --> 処理済みのFlowDroid結果
/DroidBox_outputs/     --> DroidBoxの生の出力
/Dynamic/Droidbox/     --> JSON形式のDroidBox分析
/Dynamic/Strace/       --> CSV形式のStrace分析
/Features_files/       --> AndroPyToolで生成された特徴ファイル

謝辞

  • phamhduy がDroidBoxイメージを修正しました。
ツールをダウンロード
  • -fw, --flowdroid:FlowDroidを実行します。
  • -dr, --droidbox:DroidBoxを実行します。
  • -c, --cleanup:一時的な作業ファイルを削除してクリーンアップを実行します。デフォルト:True
  • -P PACKAGEINDEX, --packgeIndex PACKAGEINDEX:すべてのAndroid APIパッケージを含むTXTファイル。デフォルト:info/package_index.txt
  • -C CLASSINDEX, --classIndex CLASSINDEX:すべてのAndroid APIクラスを含むTXTファイル。デフォルト:info/class_index.txt
  • -C CLASSINDEX, --classIndex CLASSINDEX:すべてのAndroid APIクラスを含むTXTファイル。デフォルト:info/class_index.txt
  • -SC SYSTEMCOMMANDSINDEX, --systemCommandsIndex SYSTEMCOMMANDSINDEX:すべてのシステムコマンドを含むTXTファイル。デフォルト:info/system_commands.txt
  • -C CLASSINDEX, --classIndex CLASSINDEX:すべてのAndroid APIクラスを含むTXTファイル。デフォルト:info/class_index.txt
  • -mg MONGODBURI, --mongodbURI MONGODBURI:生成されたレポートをMongoDBデータベースにエクスポートします。スキーム localhost:27017 に従った接続アドレスが必要です。
  • -csv EXPORTCSV, --cexportCSV EXPORTCSV:生成されたレポートをCSVファイルにエクスポートします。静的機能のみが含まれます。
  • --color:メッセージ出力時に色を許可します。
  • --no-color:メッセージ出力に色を使用しません。