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-вредоносного ПО, создающий комплексные профили времени выполнения путём перехвата поведения приложений в области криптографии, файловых систем, баз данных, сетевых коммуникаций и операций с процессами.

РепозиторийСайт
931618 дней назадЕщё не проверено
Dexray Intercept Logo

Трассировщик API бинарных файлов Android

Sandroid - Dexray Intercept

version PyPI version CI Ruff Publish status Documentation

Dexray Intercept является частью динамической песочницы Sandroid. Его цель — создание профилей времени выполнения для отслеживания поведения Android-приложения. Это реализуется с использованием frida.

Установка

Просто установите его через pip:

root@kitploit:~
python3 -m pip install dexray-intercept

Это установит Dexray Intercept как инструмент командной строки ammm или dexray-intercept. Кроме того, будет предоставлен пакет dexray_intercept. Подробнее об использовании пакета — ниже.

Запуск

Убедитесь, что ваше Android-устройство рутировано. frida-server будет автоматически установлен в последней версии. Затем вы можете использовать Dexray Intercept, просто выполнив следующую команду:

root@kitploit:~
dexray-intercept <target app>
# или используя старое имя:
ammm <target app>

Выбор хуков (новая функция)

Все хуки отключены по умолчанию для оптимальной производительности. Включайте хуки в зависимости от ваших задач анализа:

root@kitploit:~
# Включить определённые хуки
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, кодировки, keystore, сертификаты)
  • Network: --hooks-network (HTTP, сокеты, SSL/TLS)
  • File System: --hooks-filesystem (файловые операции, базы данных, shared preferences)
  • IPC: --hooks-ipc (intents, broadcasts, binder, shared preferences)
  • Process: --hooks-process (распаковка DEX, нативные библиотеки, среда выполнения)
  • Services: --hooks-services (камера, геолокация, телефония, bluetooth)

Вот пример мониторинга приложения chrome на нашем AVD:

root@kitploit:~
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 как пакет и используйте новую модульную архитектуру:

root@kitploit:~
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()

Категории хуков

Включайте определённые группы хуков в зависимости от ваших задач анализа:

root@kitploit:~
# 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 по-прежнему доступен для обратной совместимости:

root@kitploit:~
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, убедитесь, что вы также установили JobManager из AndroidFridaManager. Это позволяет запускать несколько сессий frida в разных потоках. Всё, что вам нужно сделать, — запустить следующий код:

root@kitploit:~
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.

Компиляция и разработка

Чтобы скомпилировать этот проект, убедитесь, что npm и frida-compile работают в вашей системе и установлены в ваш PATH. Начиная с версии frida 17.0, frida-compile устанавливается через pip install frida-tools. Затем просто выполните следующую команду, чтобы скомпилировать последнюю версию frida-агента:

root@kitploit:~
$ cd <AppProfiling-Project>
> Dexray [email protected] build
> frida-compile agent/hooking_profile_loader.ts -o src/dexray_intercept/profiling.js

$ npm install frida-java-bridge@latest --save
$ npm install --save-dev @types/frida-gum@latest
> Dexray [email protected] prepare
> npm run build
up to date, audited 75 packages in 6s

19 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Это гарантирует, что в dexray-intercept используются последние frida-скрипты/хуки.

Чтобы вносить изменения в код на Python, рекомендуется установить dexray-intercept через pip в режиме редактирования:

root@kitploit:~
python3 -m pip install -e . 

Таким образом, локальные изменения в коде Python будут отражаться без создания новой версии пакета.

📚 Документация

Доступна исчерпывающая документация, охватывающая установку, использование, справочник по API и разработку:

  • 📖 Полная документация - Полный сайт документации
  • 🚀 Краткое руководство - Начните за минуты
  • 🐍 Справочник по Python API - Программное использование
  • 🔧 Справочник по TypeScript API - Разработка пользовательских хуков
  • 💻 Руководство по использованию CLI - Интерфейс командной строки
  • ⚙️ Конфигурация хуков - Категории и параметры хуков

Требования

Просто выполнив следующую команду в этом каталоге, setup.py должен быть использован для установки dexray-intercept как локального python-пакета в вашу систему:

root@kitploit:~
python3 -m pip install .

Разработка

Чтобы скомпилировать TypeScript frida-хуки, нам нужен проект frida-compile (ссылка). Он будет включён в состав frida-tools.

root@kitploit:~
python3 -m pip install frida-tools

Кроме этого, нам также нужна поддержка frida-java-bridge и внутренних типов frida:

root@kitploit:~
npm install frida-java-bridge@latest --save
npm install --save-dev @types/frida-gum@latest

Глубокая распаковка

При распаковке приложения могут загружать DexCode — ранее указывавший на отдельные блоки памяти — в DexFile, который представляет выполняемый код. Например, некоторые приложения могут восстанавливать инструкции непосредственно перед выполнением. В таких случаях Sandroid не может вернуть инструкции обратно в DexFile. Для решения этой проблемы необходимы дальнейшие исследования.

Благодарности

Dexray Intercept основан на превосходной работе различных проектов с открытым исходным кодом и исследователей в сообществе безопасности Android и динамического анализа. Мы хотели бы выразить признательность следующим проектам, которые вдохновили нас или внесли вклад в нашу реализацию:

Основной фреймворк Frida

  • Frida - Инструментарий динамической инструментации, обеспечивающий наши возможности анализа во время выполнения
  • frida-java-bridge - Необходим для инструментации среды выполнения Java/Android

Реализации и техники хуков

  • AppMon от @dpnishant - Предоставил основополагающие хуки для анализа во время выполнения, мониторинга IPC, доступа к буферу обмена и операций с базами данных
  • Android-Malware-Sandbox от @Areizen - Хуки кодирования Base64 и техники мониторинга сокетов
  • RMS-Runtime-Mobile-Security от @m0bilesecurity - Анализ keystore и обнаружение certificate pinning
  • Medusa от @Ch0pin - Шаблоны анализа во время выполнения и техники распаковки DEX
  • frida-android-libbinder от @Hamz-a - Анализ Android Binder IPC
  • frida-snippets от @iddoeldor - Подмена геолокации и вспомогательные функции

Исследования в области безопасности Android

  • BlackDex от @CodingGay - Распаковка DEX и техники обхода антианализа
  • Frida-Python-Binding от @Mind0xP - Шаблоны интеграции Python для Frida

Анализ SQLite и баз данных

  • SQLite Database Hook от @ninjadiary - Техники мониторинга баз данных

Мы выражаем благодарность этим проектам и их сопровождающим за развитие анализа безопасности Android и предоставление своей работы сообществу.

План развития

  • [ x ] Создать шаблоны для различных хуков, которые мы хотим установить, чтобы получить профиль времени выполнения
  • Создать тестовое приложение, использующее все различные функции, которые мы хотим перехватывать (нам нужна своего рода эталонная истина для тестирования наших хуков)
  • Реализовать сами хуки
  • [ x ] Формат вывода отслеживаемой информации
  • https://attack.mitre.org/matrices/mobile/ добавить это как конечный результат, чтобы мы могли сказать, какие типы атак использует приложение
  • Мы также хотим отслеживать такие вещи, как "это проблемы конфиденциальности", "это может привести к ошибкам" ...
Скачать инструмент