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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
AndroTickler — Androidアプリ向けのペネトレーションテストおよび監査ツールキット。 | Kitploit
ツール/GitHubGitHub/ernw/androtickler
Androidセキュリティ静的分析動的分析 (サンドボックス)脆弱性分析モバイルアプリペンテスト情報収集ペネトレーションテスト
GitHubernw/androtickler

AndroTickler

Androidアプリ向けのペネトレーションテストおよび監査ツールキット。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

AndroTickler

Androidアプリのペンテストをより速く、より簡単に、より効率的に行うためのJavaツールです。AndroTicklerは、情報収集、静的および動的チェックなど、Androidアプリのペンテストのほとんどの側面をカバーする多くの機能を提供します。また、ペンテスターがペンテスト中に必要とするいくつかの機能も提供します。AndroTicklerはFridaと統合して、メソッドトレースと操作を提供します。以前はTicklerという名前で公開されていました。

AndroTicklerは、LinuxホストとUSBポートに接続されたroot化されたAndroidデバイスを必要とします。このツールはAndroidデバイスに何もインストールせず、/sdcardにTicklerディレクトリを作成するだけです。AndroTicklerは、Android SDKに依存してデバイス上でコマンドを実行し、アプリのデータをホスト上のTicklerWorkspaceディレクトリにコピーしてさらなる分析を行います。TicklerWorkspaceはAndroTicklerの作業ディレクトリであり、各アプリはTicklerWorkspace内に個別のサブディレクトリを持ちます。このサブディレクトリには以下のものが含まれます(ユーザーのアクションに応じて):

  • DataDir ディレクトリ:アプリのデータディレクトリのコピー
  • extracted ディレクトリ:アプリに対するapktoolの出力。smaliコード、リソース、ライブラリなどを含む。
  • bgSnapshots ディレクトリ:デバイスからコピーされたバックグラウンドスナップショットを含む。
  • images ディレクトリ:アプリのために撮影されたスクリーンショットを含む。
  • JavaCode ディレクトリ:dex2jarおよびJDツールによってデコンパイルされたアプリのJavaコードを含む。
  • logs ディレクトリ:後述の-t -logによって生成されたログファイルを含む。
  • transfers:-copy2hostを使用してデバイスからホストにコピーされたファイルとディレクトリ
  • AndroidManifest.xml:apktoolによるアプリのマニフェストファイル
  • base.apk:デバイスにインストールされているアプリのAPKファイル
  • debuggable.apk:-dbgによって生成されたアプリのデバッグ可能バージョン

libsディレクトリとTickler.conf設定ファイルは、jarファイルと同じディレクトリに存在します。設定ファイルは、ホスト上のTicklerDirディレクトリとAndroidデバイスの/sdcard上のTicklerの場所を設定します。設定ファイルが存在しないか、これらの2つのディレクトリが設定されていない場合、デフォルト値が使用されます(それぞれカレントディレクトリ上のTickler_workspaceと/sdcard/Tickler)。Tickler_libディレクトリには、apktoolやdex2jarなど、AndroTicklerで使用されるいくつかのJavaライブラリと外部ツールが含まれています。

AndroTicklerは以下のツールに強く依存するため、使用前にこれらがマシンに存在する必要があります:

  • Java 7 以上
  • Android SDKツール(adbなど)
  • sqlite3

一部の機能には他のツールが必要ですが、AndroTicklerはそれらがなくても実行できます:

  • Frida
  • jarsigner

ビルド方法

  1. コードからツールをビルド

    gradle build

  2. AndroTickler.jarをTickler_libディレクトリおよびTickler.confファイルと同じディレクトリに移動します(build/libsに自動作成されます)

  3. dex2jarを実行可能に設定します(libs/notJars//dex2jar-2.1/d2j-dex2jar.shおよびlibs/notJars//dex2jar-2.1/d2j_invoke.sh)

  4. テスト対象のアプリケーションがインストールされたAndroidデバイスを接続します

注意: ソースコードのビルドが失敗した場合は、リリースタブから最新のコンパイル済みリリースをダウンロードできます。

現在のバージョンでは次のことができます:

コマンドヘルプ

root@kitploit:~
java -jar AndroTickler.jar -h

情報収集/静的解析:

デバイスにインストールされているアプリを一覧表示:

root@kitploit:~
java -jar AndroTickler.jar -pkgs

デバイスにインストールされているアプリ(パッケージ)で、パッケージ名にsearchKeyを含むものを検索します

root@kitploit:~
java -jar AndroTickler.jar -findPkg <searchKey>

追加属性なしのパッケージ

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> [other options]

-pkgオプションを指定したコマンド(以下のオプションのいずれかと併用するかどうかに関わらず)は、以前に実行されていない場合、以下のアクションを実行します:

  • アプリをデバイスからコピー
  • アプリのマニフェストファイルを抽出
  • dex2jarおよびJDツールを使用してアプリをJavaコードにデコンパイル

一般情報

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -info

以下の情報を返します:

  • アプリのユーザーID
  • アプリのディレクトリパス
  • アプリのコードが外部ストレージの使用を示しているかどうか
  • 外部ストレージにすでに存在するアプリのディレクトリ
  • コード内のコンテンツURI
  • アプリがバックアップ可能かどうか
  • アプリがデバッグ可能かどうか
  • データスキーム(iOS IPCなど)
  • 使用しているパーミッション

コードスクイージング

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -squeeze [short | <codeLocation> ]

アプリのデコンパイルされたJavaコードから以下を取得します:

  • ログメッセージ
  • 可能性のあるユーザー資格情報の兆候
  • Javaコメント
  • 使用されているライブラリ
  • コード内のURL
  • SharedPreferencesの使用
  • 外部ストレージの使用
  • OkHttpやWebViewなどの一般的なコンポーネント

当然ながら、その出力は通常巨大なため、コマンドの出力をファイルにリダイレクトすることをお勧めします。

short 開発者に属するデコンパイルされたコードのみをスクイーズします。例えば、アプリのパッケージ名がcom.notEnaf.myappの場合、squeeze shortはcom/notEnafディレクトリ内のコードのみをスクイーズします。

codeLocationディレクトリ内のコードのみをスクイーズします。検索を制限したり、ソースコードが利用可能な場合にそれをスクイーズするのに役立ちます。

コンポーネントの一覧表示

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -l [-exp] [-v]

アプリのすべてのコンポーネントを一覧表示します

-exp エクスポートされたコンポーネントのみを表示

-v 各コンポーネントの詳細情報を提供します:

  • コンポーネントタイプ
  • エクスポートされているかどうか
  • そのインテントフィルター
  • ツールは各コンポーネントに対応するJavaクラスをチェックし、すべての可能なインテントエクストラを返します

任意の種類のコンポーネントの一覧表示

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -l [-act | -ser | -rec | -prov ] [-exp] [-v]
  • -act : アクティビティ
  • -ser : サービス
  • -rec: ブロードキャストレシーバー
  • -prov: コンテンツプロバイダー
  • -exp: 上記のいずれかのタイプのエクスポートされたコンポーネントのみを表示

データベース

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -db [|e|l|d] [nu]

デフォルトでは、すべての-dbコマンドはチェックを実行する前にホスト上のアプリのデータストレージディレクトリを更新します。

属性なし または e アプリのデータベースが暗号化されているかどうかをテストします。-dbフラグ後にオプションが指定されていない場合のデフォルトのアクションです。 l アプリのすべてのデータベースを一覧表示します。暗号化されたデータベースは検出されない可能性があります。 d 暗号化されていないデータベースのいずれかのsqliteダンプを取得します。 nu noUpdate: ホスト上のアプリのデータディレクトリを更新せずに上記のいずれかのオプションを実行します。

データストレージディレクトリの比較

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -diff [d|detailed]

アプリのデータストレージディレクトリを(DataDirOldに)コピーし、ユーザーに希望するアクションを実行してもらい、完了したらEnterキーを押すよう求めます。その後、データストレージディレクトリを再度(DataDirに)コピーし、それらの間でdiffを実行して、追加、削除、または変更されたファイルを表示します。

d|detailed 通常の-diffコマンドと同じことを行います。さらに、テキストファイルと暗号化されていないデータベースで正確に何が変更されたかを表示します。

検索

コード

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -sc <key> [<customLocation>]

以下の場所でkeyを検索します:

  • アプリのデコンパイルされたJavaコード
  • res/values/strings.xml
  • res/values/arrays.xml

検索は大文字小文字を区別しません。

デコンパイルされたJavaコードの場所をカスタムロケーションで置き換えます。

ストレージ

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -sd <key>

アプリのデータストレージディレクトリ内で指定されたキーを検索します

Tickling

インテントのすべての可能な組み合わせによって、アプリのコンポーネントをトリガーします。例えば、アクティビティが2つの可能なアクションと3つのデータURIスキームを持つインテントフィルターを持っている場合、AndroTicklerはこのインテントのすべての可能な組み合わせでアクティビティをトリガーします。さらに、AndroTicklerはコンポーネントに対応するJavaクラス内で言及されているインテントエクストラを取得し、それらにダミー値を割り当てて、可能なインテントの組み合わせに追加します。boolean、string、int、floatタイプのエクストラのみがサポートされています。

-expオプションが使用された場合、コンポーネントはroot権限や特別な権限なしでトリガーされます。使用しない場合、コンポーネントはroot権限でトリガーされます。これにより、通常権限の攻撃者または高権限の攻撃者という2つの異なるシナリオでアプリをテストできます。

コンポーネントをトリガーする前に、AndroTicklerは実行されるすべてのコマンドを表示します。次に、各コマンドについて、コンポーネントをトリガーし、コマンドを表示してからユーザーを待機します。これにより、ユーザーはコマンド実行後に追加のチェックを行う十分な時間を得られます。ユーザーが次のコマンドに進む前に、PoC文書用にデバイスのスクリーンショットを撮るオプションが与えられます。

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -t [-all | -exp] [target] [-log]

targetは、listコマンドで説明した通り、以下が可能です:

  • -act : アクティビティ。上記の説明通り、すべてのインテントの組み合わせでアクティビティを起動します。
  • -ser : サービス。上記の説明通り、すべてのインテントの組み合わせでサービスを開始します。
  • -rec: ブロードキャストレシーバー。ブロードキャストレシーバーに一致するすべての可能なブロードキャストメッセージを送信します。
  • -prov: コンテンツプロバイダー。コンテンツプロバイダーにクエリを実行します。

値がない場合、ターゲットは上記のすべてです。

[-comp] <component_name> 1つのコンポーネントのみを指定します。-compフラグなしで*<component_name>*を直接使用することもできます。 -exp AndroTicklerは通常権限を使用して、エクスポートされたターゲットのみをトリガーします。 -all デフォルトのオプション。AndroTicklerはroot権限を使用してエクスポートされたターゲットをトリガーします。 -log トリガーセッション中に生成されたすべてのログキャットメッセージをキャプチャします。ログファイルはlogsサブディレクトリに保存されます。

Frida:

Fridaはホストマシンにインストールされている必要があります。また、Androidデバイス上のFridaサーバーの場所をTickler.confファイルのFrida_server_pathエントリに追加する必要があります。

引数と戻り値のキャプチャ

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -frida vals <ClassName> <MethodName> <NumberOfArgs> [-reuse]

このメソッドの引数と戻り値を表示します(プリミティブデータ型とStringのみ)。

reuse valsおよびsetオプションの場合、Fridaはその機能のFridaスクリプトを作成/更新します。作成されたスクリプトを自由に変更でき、AndroTicklerを通して実行したい場合は、-reuseオプションを使用して上書きされないようにします。

引数または戻り値の変更

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -frida set <ClassName> <MethodName> <NumberOfArgs> <NumberOfArgToModify> <newValue>[-reuse]

引数番号NumberOfArgToModifyをnewValueに設定します(プリミティブデータ型とStringのみ)。 NumberOfArgToModifyは0から始まります:最初の引数 --> NumberOfArgToModify = 0、...など 戻り値を変更するには、NumberOfArgToModifyをretに設定します。

JS Fridaスクリプトの実行

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -frida script <scriptPath>

ホスト上のscriptPathにあるfrida JSスクリプトを実行します

読み込まれたクラスの列挙:

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -frida enum

その他の機能

デバッグ可能バージョン

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -dbg

アプリのデバッグ可能バージョンを作成します。これはデバイスにインストールして、任意の外部ツールを使用してデバッグできます。 AndroTicklerにはデバッグ可能なapkに署名するためのキーストアが付属していますが、ホストにjarsignerツールが必要です。

カスタムバージョン

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -apk <decompiledDirectory>

ディレクトリからapkファイルをビルドし、署名してインストールします。

バックグラウンドスナップショット

root@kitploit:~
java -jar AndroTickler.jar [-pkg <package>] [-bg|--bgSnapshots]

デバイスが撮影したバックグラウンドスナップショットを(-pkgオプションの有無にかかわらず動作)bgSnapshotsサブディレクトリにコピーします。

ファイル/ディレクトリのコピー

データストレージディレクトリのコピー:

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -dataDir  [dest]

データストレージディレクトリをDataDirにコピーします dest 宛先ディレクトリのオプション名。いずれにせよtransfersサブディレクトリに配置されます。

任意のファイル/ディレクトリのコピー:

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -cp2host <source_path> [dest]

Androidデバイスからファイル/ディレクトリをコピーします。

  • source_pathは、Androidデバイスからコピーしたいものの絶対パスです。
  • dest: 宛先ディレクトリのオプション名。いずれにせよtransfersサブディレクトリに配置されます。

destオプションが指定されない場合、ディレクトリ名はトランザクションのタイムスタンプになります。

スクリーンショット

root@kitploit:~
java -jar AndroTickler.jar [-pkg <package>] -screen
  • デバイスの現在のスクリーンショットをキャプチャし、imagesサブディレクトリに保存します。
  • パッケージフラグの有無にかかわらず動作します。

注記

-pkgオプションを必要としないオプションの場合、そのデータはTickler_Dir/NoPackageに保存されます。

例:

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -t  -act -exp

エクスポートされたアクティビティをトリガーします

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -t -prov -log

すべてのコンテンツプロバイダーにクエリを実行し、ツールの実行が停止するまでログキャットメッセージを保存します

root@kitploit:~
java -jar AndroTickler.jar -pkg <package> -t <component_name> 

コンポーネントをトリガーします。トリガーのタイプはコンポーネントのタイプに依存します

root@kitploit:~
java -jar AndroTickler.jar -pkg de.not3naf.myApp -frida set de.not3naf.myApp.myActivity myMethod 2 0 "newValue" 

2つの引数を持つメソッド"myMethod"にフックし、最初の引数(args[0])の値を"newValue"に変更します

root@kitploit:~
java -jar AndroTickler.jar -pkg de.not3naf.myApp -frida set de.not3naf.myApp.myActivity myMethod 2 2 false 

2つの引数を持つメソッド"myMethod"にフックし、戻り値をboolean falseに変更します

ツールをダウンロード