Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Sandroid_Dexray-Intercept — Un tool di analisi malware Android che crea profili runtime completi intercettando il comportamento delle applicazioni attraverso crittografia, file system, database, comunicazioni di rete e operazioni sui processi. | Kitploit
Strumenti/GitHubGitHub/fkie-cad/sandroid_dexray-intercept
Sicurezza AndroidAnalisi Dinamica (Sandboxing)Analisi Dinamica del Codice (DAST)Reverse EngineeringInformatica ForenseRaccolta InformazioniMobile ForensicsAnalisi Malware

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Crittografia
Sicurezza Mobile
Utilità e Framework
GitHubfkie-cad/sandroid_dexray-intercept

Sandroid_Dexray-Intercept

Un tool di analisi malware Android che crea profili runtime completi intercettando il comportamento delle applicazioni attraverso crittografia, file system, database, comunicazioni di rete e operazioni sui processi.

Vedi RepositorySito web
931618 giorni faNon ancora revisionato
Dexray Intercept Logo

Android Binary API Tracer

Sandroid - Dexray Intercept

version PyPI version CI Ruff Publish status Documentation

Dexray Intercept fa parte della Sandbox dinamica Sandroid. Il suo scopo è creare profili di runtime per tracciare il comportamento di un'applicazione Android. Questo viene fatto utilizzando frida.

Installazione

Basta installarlo con pip:

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

Questo installerà Dexray Intercept come strumento da riga di comando ammm o dexray-intercept. Inoltre fornirà un pacchetto dexray_intercept. Maggiori informazioni su come utilizzare il pacchetto sono riportate di seguito.

Esecuzione

Assicurati che il tuo dispositivo Android sia rootato. Il frida-server verrà installato automaticamente all'ultima versione. Poi puoi utilizzare Dexray Intercept semplicemente invocando il seguente comando:

root@kitploit:~
dexray-intercept <target app>
# or using its old name:
ammm <target app>

Selezione degli Hook (Nuova Funzionalità)

Tutti gli hook sono disabilitati per impostazione predefinita per prestazioni ottimali. Abilita gli hook in base alle tue esigenze di analisi:

root@kitploit:~
# Enable specific hooks
dexray-intercept --enable-aes <app_name>                    # Enable AES crypto hooks
dexray-intercept --enable-web <app_name>                    # Enable web/HTTP hooks
dexray-intercept --enable-aes --enable-web <app_name>       # Enable multiple hooks

# Enable hook groups
dexray-intercept --hooks-crypto <app_name>                  # Enable all crypto hooks
dexray-intercept --hooks-network <app_name>                 # Enable all network hooks  
dexray-intercept --hooks-filesystem <app_name>              # Enable all file system hooks

# Enable all hooks (performance impact)
dexray-intercept --hooks-all <app_name>                     # Enable all available hooks

# Use package identifier instead of app name
dexray-intercept -s com.example.package --hooks-crypto

Categorie di Hook Disponibili

  • Crypto: --hooks-crypto (AES, encodings, keystore, certificates)
  • Network: --hooks-network (HTTP, sockets, SSL/TLS)
  • File System: --hooks-filesystem (file operations, databases, shared preferences)
  • IPC: --hooks-ipc (intents, broadcasts, binder, shared preferences)
  • Process: --hooks-process (DEX unpacking, native libraries, runtime)
  • Services: --hooks-services (camera, location, telephony, bluetooth)

Ecco un esempio di monitoraggio dell'app chrome sul nostro 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

Esecuzione come pacchetto

Nuova API (Consigliata)

Installa Dexray Intercept come pacchetto e utilizza la nuova architettura modulare:

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

Categorie di Hook

Abilita gruppi specifici di hook in base alle tue esigenze di analisi:

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 Legacy (Compatibilità all'indietro)

La vecchia API è ancora disponibile per la compatibilità all'indietro:

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

Utilizzo con Sandroid

Per eseguirlo come pacchetto in Sandroid assicurati di aver installato anche il JobManager da AndroidFridaManager. Questo permette di eseguire più sessioni frida in thread diversi. Tutto ciò che devi fare è eseguire il seguente codice:

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

Assicurati che nessun'altra parte del tuo codice stia tentando di connettersi al server frida (nessun'altra sessione frida). Per testare questo puoi provare il seguente esempio: catelites_2018_01_19.apk. Il nome del pacchetto è net.classwindexampleyear.bookseapiececountry. Assicurati che il tuo AVD sia in esecuzione su Android 9, in modo che il campione possa eseguire tutto il suo codice malevolo. Puoi installare questo campione semplicemente con adb install samples/unpacking/catelites_2018_01_19.apk.

Compilazione e Sviluppo

Per compilare questo progetto assicurati che npm e frida-compile siano in esecuzione sul tuo sistema e installati nel tuo path. Dalla versione 17.0 di frida, frida-compile viene installato tramite pip install frida-tools. Poi basta invocare il seguente comando per ottenere l'ultimo frida agent compilato:

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

Questo assicura che gli ultimi script/hook frida vengano utilizzati in dexray-intercept.

Per apportare modifiche al codice python si consiglia di installare dexray-intercept con pip utilizzando la modalità editable:

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

In questo modo le modifiche locali al codice python vengono riflesse senza creare una nuova versione del pacchetto.

📚 Documentazione

È disponibile una documentazione completa che copre installazione, utilizzo, riferimento API e sviluppo:

  • 📖 Documentazione Completa - Sito di documentazione completo
  • 🚀 Guida Rapida - Inizia in pochi minuti
  • 🐍 Riferimento API Python - Utilizzo programmatico
  • 🔧 Riferimento API TypeScript - Sviluppo di hook personalizzati
  • 💻 Guida all'Uso della CLI - Interfaccia a riga di comando
  • ⚙️ Configurazione degli Hook - Categorie e opzioni degli hook

Requisiti

Invocando semplicemente il seguente comando in questa directory, setup.py dovrebbe essere utilizzato per installare dexray-intercept come pacchetto python locale sul tuo sistema:

root@kitploit:~
python3 -m pip install .

Dev

Per compilare gli hook frida in TypeScript abbiamo bisogno del progetto frida-compile (link). Che sarà incluso in frida-tools.

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

Oltre a questo abbiamo bisogno anche del supporto per frida-java-bridge e i tipi interni di frida:

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

Deep Unpacking

Durante l'unpacking, le applicazioni possono caricare DexCode—precedentemente puntato a blocchi di memoria distinti—in un DexFile, che rappresenta il codice in esecuzione. Ad esempio, alcune applicazioni possono ripristinare le istruzioni immediatamente prima dell'esecuzione. In questi casi, Sandroid non è in grado di ripristinare le istruzioni nel DexFile. Sono necessarie ulteriori ricerche per risolvere questo problema

Riconoscimenti

Dexray Intercept si basa sull'eccellente lavoro di vari progetti open-source e ricercatori nella comunità della sicurezza Android e dell'analisi dinamica. Vorremmo ringraziare i seguenti progetti che hanno ispirato o contribuito alla nostra implementazione:

Framework Frida Core

  • Frida - Il toolkit di strumentazione dinamica che alimenta le nostre capacità di analisi runtime
  • frida-java-bridge - Essenziale per la strumentazione runtime Java/Android

Implementazioni e Tecniche di Hook

  • AppMon di @dpnishant - Ha fornito hook fondamentali per l'analisi runtime, il monitoraggio IPC, l'accesso agli appunti e le operazioni sui database
  • Android-Malware-Sandbox di @Areizen - Hook per la codifica Base64 e tecniche di monitoraggio dei socket
  • RMS-Runtime-Mobile-Security di @m0bilesecurity - Analisi del keystore e rilevamento del certificate pinning
  • Medusa di @Ch0pin - Pattern di analisi runtime e tecniche di DEX unpacking
  • frida-android-libbinder di @Hamz-a - Analisi dell'IPC Binder di Android
  • frida-snippets di @iddoeldor - Spoofing della posizione e funzioni di utilità

Ricerca sulla Sicurezza Android

  • BlackDex di @CodingGay - Tecniche di DEX unpacking e bypass dell'anti-analisi
  • Frida-Python-Binding di @Mind0xP - Pattern di integrazione Python per Frida

Analisi SQLite e Database

  • SQLite Database Hook di @ninjadiary - Tecniche di monitoraggio dei database

Estendiamo la nostra gratitudine a questi progetti e ai loro manutentori per aver fatto avanzare lo stato dell'analisi della sicurezza Android e per aver reso il loro lavoro disponibile alla comunità.

Roadmap

  • [ x ] Creare template per i diversi hooking che vogliamo installare al fine di ottenere un profilo di runtime
  • Creare un'applicazione di test che utilizzi tutte le diverse funzionalità che vogliamo intercettare (abbiamo bisogno di una sorta di ground truth per testare i nostri hook)
  • Implementare gli hook effettivi
  • [ x ] Il formato per stampare le informazioni monitorate
  • https://attack.mitre.org/matrices/mobile/ aggiungere questo come risultato finale in modo da poter dire che tipo di Attacchi sta utilizzando l'Applicazione
  • Vogliamo tracciare anche cose come "questi sono problemi di privacy", "questo potrebbe portare a bug" ...
Scarica lo strumento