Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Sandroid_Dexray-Intercept — Un outil d'analyse de logiciels malveillants Android qui crée des profils d'exécution complets en s'accrochant au comportement des applications à travers la cryptographie, les systèmes de fichiers, les bases de données, les communications réseau et les opérations de processus. | Kitploit
Outils/GitHubGitHub/fkie-cad/sandroid_dexray-intercept
Sécurité AndroidAnalyse Dynamique (Sandboxing)Analyse Dynamique de Code (DAST)Rétro-ingénierieAnalyse ForensiqueCollecte d'InformationsCriminalistique MobileAnalyse de Malware

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Cryptographie
Sécurité Mobile
Utilitaires et Frameworks
GitHubfkie-cad/sandroid_dexray-intercept

Sandroid_Dexray-Intercept

Un outil d'analyse de logiciels malveillants Android qui crée des profils d'exécution complets en s'accrochant au comportement des applications à travers la cryptographie, les systèmes de fichiers, les bases de données, les communications réseau et les opérations de processus.

Voir le dépôtSite web
9316il y a 18 joursPas encore vérifié
Partager
Dexray Intercept Logo

Traceur d'API de binaires Android

Sandroid - Dexray Intercept

version PyPI version CI Ruff Publish status Documentation

Dexray Intercept fait partie du bac à sable dynamique Sandroid. Son objectif est de créer des profils d'exécution pour suivre le comportement d'une application Android. Cela est réalisé en utilisant frida.

Installation

Il suffit de l'installer avec pip :

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

Cela installera Dexray Intercept en tant qu'outil en ligne de commande ammm ou dexray-intercept. De plus, cela fournira un paquet dexray_intercept. Plus d'informations sur l'utilisation du paquet ci-dessous.

Exécution

Assurez-vous que votre appareil Android est rooté. Le frida-server sera installé automatiquement dans sa dernière version. Vous pouvez ensuite utiliser Dexray Intercept en invoquant simplement la commande suivante :

root@kitploit:~
dexray-intercept <target app>
# ou en utilisant son ancien nom :
ammm <target app>

Sélection des hooks (nouvelle fonctionnalité)

Tous les hooks sont désactivés par défaut pour des performances optimales. Activez les hooks en fonction de vos besoins d'analyse :

root@kitploit:~
# Activer des hooks spécifiques
dexray-intercept --enable-aes <app_name>                    # Activer les hooks de cryptographie AES
dexray-intercept --enable-web <app_name>                    # Activer les hooks web/HTTP
dexray-intercept --enable-aes --enable-web <app_name>       # Activer plusieurs hooks

# Activer des groupes de hooks
dexray-intercept --hooks-crypto <app_name>                  # Activer tous les hooks de cryptographie
dexray-intercept --hooks-network <app_name>                 # Activer tous les hooks réseau  
dexray-intercept --hooks-filesystem <app_name>              # Activer tous les hooks du système de fichiers

# Activer tous les hooks (impact sur les performances)
dexray-intercept --hooks-all <app_name>                     # Activer tous les hooks disponibles

# Utiliser l'identifiant du paquet au lieu du nom de l'application
dexray-intercept -s com.example.package --hooks-crypto

Catégories de hooks disponibles

  • Crypto : --hooks-crypto (AES, encodages, keystore, certificats)
  • Réseau : --hooks-network (HTTP, sockets, SSL/TLS)
  • Système de fichiers : --hooks-filesystem (opérations sur les fichiers, bases de données, préférences partagées)
  • IPC : --hooks-ipc (intents, broadcasts, binder, préférences partagées)
  • Processus : --hooks-process (dépaquetage DEX, bibliothèques natives, runtime)
  • Services : --hooks-services (caméra, localisation, téléphonie, bluetooth)

Voici un exemple de surveillance de l'application chrome sur notre 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

Exécution en tant que paquet

Nouvelle API (recommandée)

Installez Dexray Intercept en tant que paquet et utilisez la nouvelle architecture modulaire :

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()

Catégories de hooks

Activez des groupes de hooks spécifiques en fonction de vos besoins d'analyse :

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 héritée (compatibilité ascendante)

L'ancienne API est toujours disponible pour la compatibilité ascendante :

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

Utilisation avec Sandroid

Afin de l'exécuter en tant que paquet dans Sandroid, assurez-vous d'avoir également installé le JobManager depuis AndroidFridaManager. Cela permet d'exécuter plusieurs sessions frida dans différents threads. Tout ce que vous avez à faire est d'exécuter le code suivant :

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() 

Assurez-vous qu'aucune autre partie de votre code n'essaie de se connecter au serveur frida (aucune autre session frida). Pour tester cela, vous pouvez essayer l'échantillon suivant : catelites_2018_01_19.apk. Le nom du paquet est net.classwindexampleyear.bookseapiececountry. Assurez-vous que votre AVD fonctionne sous Android 9, afin que l'échantillon puisse exécuter l'intégralité de son code malveillant. Vous pouvez installer cet échantillon simplement avec adb install samples/unpacking/catelites_2018_01_19.apk.

Compilation et développement

Afin de compiler ce projet, assurez-vous que npm et frida-compile sont en cours d'exécution sur votre système et installés dans votre PATH. Depuis la version 17.0 de frida, frida-compile s'installe via pip install frida-tools. Ensuite, invoquez simplement la commande suivante pour obtenir la dernière version compilée de l'agent 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

Cela garantit que les derniers scripts/hooks frida sont utilisés dans dexray-intercept.

Afin d'effectuer des ajustements dans le code Python, il est recommandé d'installer dexray-intercept avec pip en utilisant le mode éditable :

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

De cette façon, les modifications locales dans le code Python sont prises en compte sans créer une nouvelle version du paquet.

📚 Documentation

Une documentation complète est disponible couvrant l'installation, l'utilisation, la référence API et le développement :

  • 📖 Documentation complète - Site de documentation complet
  • 🚀 Guide de démarrage rapide - Démarrez en quelques minutes
  • 🐍 Référence de l'API Python - Utilisation programmatique
  • 🔧 Référence de l'API TypeScript - Développement de hooks personnalisés
  • 💻 Guide d'utilisation de la CLI - Interface en ligne de commande
  • ⚙️ Configuration des hooks - Catégories et options de hooks

Prérequis

En invoquant simplement la commande suivante dans ce répertoire, le setup.py devrait être utilisé pour installer dexray-intercept en tant que paquet Python local sur votre système :

root@kitploit:~
python3 -m pip install .

Développement

Afin de compiler les hooks frida TypeScript, nous avons besoin du projet frida-compile (lien). Celui-ci sera fourni avec frida-tools.

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

En plus de cela, nous avons également besoin du support de frida-java-bridge et des types frida internes :

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

Dépaquetage profond

Lors du dépaquetage, les applications peuvent charger du DexCode — précédemment pointé vers des blocs mémoire distincts — dans un DexFile, qui représente le code en cours d'exécution. Par exemple, certaines applications peuvent restaurer des instructions immédiatement avant leur exécution. Dans de tels cas, Sandroid est incapable de rétablir les instructions dans le DexFile. Des recherches supplémentaires sont nécessaires pour résoudre ce problème.

Remerciements

Dexray Intercept s'appuie sur l'excellent travail de divers projets open source et chercheurs de la communauté de la sécurité Android et de l'analyse dynamique. Nous souhaitons remercier les projets suivants qui ont inspiré ou contribué à notre implémentation :

Framework Frida principal

  • Frida - La boîte à outils d'instrumentation dynamique qui alimente nos capacités d'analyse à l'exécution
  • frida-java-bridge - Essentiel pour l'instrumentation du runtime Java/Android

Implémentations et techniques de hooks

  • AppMon par @dpnishant - A fourni les hooks fondamentaux pour l'analyse à l'exécution, la surveillance IPC, l'accès au presse-papiers et les opérations de base de données
  • Android-Malware-Sandbox par @Areizen - Hooks d'encodage Base64 et techniques de surveillance des sockets
  • RMS-Runtime-Mobile-Security par @m0bilesecurity - Analyse du keystore et détection du certificate pinning
  • Medusa par @Ch0pin - Modèles d'analyse à l'exécution et techniques de dépaquetage DEX
  • frida-android-libbinder par @Hamz-a - Analyse de l'IPC Binder Android
  • frida-snippets par @iddoeldor - Usurpation de localisation et fonctions utilitaires

Recherche en sécurité Android

  • BlackDex par @CodingGay - Dépaquetage DEX et techniques de contournement anti-analyse
  • Frida-Python-Binding par @Mind0xP - Modèles d'intégration Python pour Frida

Analyse SQLite et bases de données

  • SQLite Database Hook par @ninjadiary - Techniques de surveillance de bases de données

Nous exprimons notre gratitude à ces projets et à leurs mainteneurs pour avoir fait progresser l'état de l'analyse de sécurité Android et avoir mis leur travail à la disposition de la communauté.

Feuille de route

  • [ x ] Créer des modèles pour les différents hooks que nous voulons installer afin d'obtenir un profil d'exécution
  • Créer une application de test qui utilise toutes les différentes fonctionnalités que nous voulons hooker (nous avons besoin d'une sorte de vérité terrain pour tester nos hooks)
  • Implémenter les hooks proprement dits
  • [ x ] Le format d'affichage des informations surveillées
  • https://attack.mitre.org/matrices/mobile/ ajouter ceci comme résultat final afin que nous puissions dire quel type d'attaques l'application utilise
  • Nous voulons également suivre des choses comme « ce sont des problèmes de confidentialité », « cela pourrait conduire à des bugs » ...
Télécharger l’outil