Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Sandroid_Dexray-Intercept — Androidマルウェア解析ツール。暗号化、ファイルシステム、データベース、ネットワーク通信、プロセス操作にわたるアプリケーションの動作にフックすることで、包括的なランタイムプロファイルを作成します。 | Kitploit
ツール/GitHubGitHub/fkie-cad/sandroid_dexray-intercept
Androidセキュリティ動的分析 (サンドボックス)動的コード分析 (DAST)リバースエンジニアリングフォレンジック情報収集モバイルフォレンジックマルウェア分析暗号化

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
モバイルセキュリティ
ユーティリティとフレームワーク
GitHubfkie-cad/sandroid_dexray-intercept

Sandroid_Dexray-Intercept

Androidマルウェア解析ツール。暗号化、ファイルシステム、データベース、ネットワーク通信、プロセス操作にわたるアプリケーションの動作にフックすることで、包括的なランタイムプロファイルを作成します。

リポジトリを見るウェブサイト
1031351ヶ月前未レビュー
Dexray Intercept Logo

Android バイナリ API トレーサー

Sandroid - Dexray Intercept

version PyPI version CI Ruff Publish status Documentation

Dexray Intercept は動的サンドボックス Sandroid の一部です。その目的は、Android アプリケーションの動作を追跡するためのランタイムプロファイルを作成することです。これは frida を利用して行われます。

インストール

pip でインストールするだけです:

python3 -m pip install dexray-intercept

これにより、Dexray Intercept がコマンドラインツール ammm または dexray-intercept としてインストールされます。 さらに、パッケージ dexray_intercept が提供されます。パッケージの使用方法については以下で詳しく説明します。

実行

Android デバイスが root 化されていることを確認してください。frida-server は自動的に最新バージョンにインストールされます。その後、以下のコマンドを実行するだけで Dexray Intercept を使用できます:

dexray-intercept <target app>
# または旧名を使用:
ammm <target app>

フックの選択(新機能)

すべてのフックは最適なパフォーマンスのためにデフォルトで無効になっています。分析のニーズに応じてフックを有効にしてください:

# 特定のフックを有効化
dexray-intercept --enable-aes <app_name>                    # AES 暗号化フックを有効化
dexray-intercept --enable-web <app_name>                    # Web/HTTP フックを有効化
dexray-intercept --enable-aes --enable-web <app_name>       # 複数のフックを有効化

# フックグループを有効化
dexray-intercept --hooks-crypto <app_name>                  # すべての暗号化フックを有効化
dexray-intercept --hooks-network <app_name>                 # すべてのネットワークフックを有効化
dexray-intercept --hooks-filesystem <app_name>              # すべてのファイルシステムフックを有効化

# すべてのフックを有効化(パフォーマンスに影響)
dexray-intercept --hooks-all <app_name>                     # 利用可能なすべてのフックを有効化

# アプリ名の代わりにパッケージ識別子を使用
dexray-intercept -s com.example.package --hooks-crypto

利用可能なフックカテゴリ

  • Crypto: --hooks-crypto(AES、エンコーディング、キーストア、証明書)
  • Network: --hooks-network(HTTP、ソケット、SSL/TLS)
  • File System: --hooks-filesystem(ファイル操作、データベース、共有設定)
  • IPC: --hooks-ipc(インテント、ブロードキャスト、バインダー、共有設定)
  • Process: --hooks-process(DEX アンパック、ネイティブライブラリ、ランタイム)
  • Services: --hooks-services(カメラ、位置情報、テレフォニー、Bluetooth)

以下は、AVD 上で Chrome アプリを監視する例です:

dexray-intercept Chrome
        Dexray Intercept
⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠙⢷⣤⣤⣴⣶⣶⣦⣤⣤⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠾⠛⢉⣉⣉⣉⡉⠛⠷⣦⣄⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠋⣠⣴⣿⣿⣿⣿⣿⡿⣿⣶⣌⠹⣷⡀⠀⠀
⠀⠀⠀⠀⣼⣿⣿⣉⣹⣿⣿⣿⣿⣏⣉⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠁⣴⣿⣿⣿⣿⣿⣿⣿⣿⣆⠉⠻⣧⠘⣷⠀⠀
⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡇⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠈⠀⢹⡇⠀
⣠⣄⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣠⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⢸⣿⠛⣿⣿⣿⣿⣿⣿⡿⠃⠀⠀⠀⠀⢸⡇⠀
⣿⣿⡇⢸⣿⣿⣿Sandroid⣿⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣷⠀⢿⡆⠈⠛⠻⠟⠛⠉⠀⠀⠀⠀⠀⠀⣾⠃⠀
⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣧⡀⠻⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⠃⠀⠀
⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢼⠿⣦⣄⠀⠀⠀⠀⠀⠀⠀⣀⣴⠟⠁⠀⠀⠀
⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣦⠀⠀⠈⠉⠛⠓⠲⠶⠖⠚⠋⠉⠀⠀⠀⠀⠀⠀
⠻⠟⠁⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠈⠻⠟⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠉⠉⣿⣿⣿⡏⠉⠉⢹⣿⣿⣿⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⣿⣿⣿⡇⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⢀⣄⠈⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠀⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[*] starting app profiling
[*] press Ctrl+C to stop the profiling ...

[*] Filesystem profiling informations:
[*] [Libc::read] Read FD (anon_inode:[eventfd],0x7ac6b67540,8)

[*] Filesystem profiling informations:
[*] [Libc::read] Read FD (anon_inode:[eventfd],0x7fcb41c990,8

パッケージとして実行

新しい API(推奨)

Dexray Intercept をパッケージとしてインストールし、新しいモジュラーアーキテクチャを使用します:

from dexray_intercept import AppProfiler, setup_frida_device
from dexray_intercept.services.hook_manager import HookManager

# Connect to device and get process
device = setup_frida_device()
process = device.attach("com.example.app")

# Configure hooks (all disabled by default for performance)
hook_config = {
    'aes_hooks': True,
    'web_hooks': True, 
    'file_system_hooks': True,
    'keystore_hooks': True
}

# Create profiler with new architecture
profiler = AppProfiler(
    process, 
    verbose_mode=True,
    output_format="JSON",
    hook_config=hook_config,
    enable_stacktrace=True
)

# Start profiling
script = profiler.start_profiling()

# ... let app run and collect data ...

# Get results
profile_data = profiler.get_profile_data()
json_output = profiler.get_profiling_log_as_json()

# Runtime hook management
profiler.enable_hook('socket_hooks', True)  # Enable more hooks at runtime
enabled_hooks = profiler.get_enabled_hooks()  # Check what's enabled

# Stop profiling
profiler.stop_profiling()

フックカテゴリ

分析のニーズに基づいて特定のフックグループを有効にします:

# Crypto hooks
hook_config = {
    'aes_hooks': True,
    'encodings_hooks': True, 
    'keystore_hooks': True
}

# Network hooks  
hook_config = {
    'web_hooks': True,
    'socket_hooks': True
}

# File system hooks
hook_config = {
    'file_system_hooks': True,
    'database_hooks': True
}

# Enable all hooks (performance impact)
profiler.enable_all_hooks()

# Enable hook groups
profiler.enable_hook_group('crypto')  # Enable all crypto-related hooks

レガシー API(後方互換性)

古い API は後方互換性のために引き続き利用可能です:

from dexray_intercept import AppProfilerLegacy
# OR use environment variable: DEXRAY_FORCE_OLD_ARCH=true

profiler = AppProfilerLegacy(process_session, verbose=True, output_format="CMD", 
                           base_path=None, deactivate_unlink=False)
profiler.instrument()  # Old method name
# ... 
profiler.finish_app_profiling()  # Old method name

Sandroid での使用

Sandroid でパッケージとして実行するには、AndroidFridaManager から JobManager もインストールされていることを確認してください。これにより、異なるスレッドで複数の frida セッションを実行できます。 必要な作業は、以下のコードを実行するだけです:

from AndroidFridaManager import JobManager
from dexray_intercept import AppProfiler 

job_manager = JobManager()
app_package = "net.classwindexampleyear.bookseapiececountry"
profiler = AppProfiler(job_manager.process_session, True, output_format="JSON", base_path=None, deactivate_unlink=False)
frida_script_path = profiler.get_frida_script()

job_manager.setup_frida_session(app_package, profiler.on_appProfiling_message)
job = job_manager.start_job(frida_script_path, custom_hooking_handler_name=profiler.on_appProfiling_message)

# close only the job and the frida session keeps active to run other frida scripts
# job_manager.stop_job_with_id(job.job_id) 
job_manager.stop_app_with_closing_frida(app_package) # stops the frida session and the app and all frida jobs

profiler.write_profiling_log() # write the log data to profile.json
# instead of writing it to a file the JSON output will just be returned
# profiler.get_profiling_log_as_JSON() 

コードの他の部分が frida サーバーに接続しようとしていないこと(他の frida セッションがないこと)を確認してください。 これをテストするには、以下のサンプルを試すことができます:catelites_2018_01_19.apk。パッケージ名は net.classwindexampleyear.bookseapiececountry です。サンプルが悪意のあるコードのすべてを実行できるように、AVD が Android 9 で実行されていることを確認してください。このサンプルは adb install samples/unpacking/catelites_2018_01_19.apk で簡単にインストールできます。

コンパイルと開発

ツールをダウンロード