Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/fkie-cad/sandroid_dexray-intercept
Android-SicherheitDynamische Analyse (Sandboxing)Dynamische Code-Analyse (DAST)Reverse EngineeringForensikInformationsbeschaffungMobile ForensikMalware-AnalyseKryptographieMobile SicherheitDienstprogramme & Frameworks
GitHubfkie-cad/sandroid_dexray-intercept

Sandroid_Dexray-Intercept

Ein Android-Malware-Analysewerkzeug, das umfassende Laufzeitprofile erstellt, indem es sich in das Anwendungsverhalten in den Bereichen Kryptografie, Dateisysteme, Datenbanken, Netzwerkkommunikation und Prozessoperationen einklinkt.

Repository anzeigenWebseite
9316vor 18 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Dexray Intercept Logo

Android Binary API Tracer

Sandroid - Dexray Intercept

version PyPI version CI Ruff Publish status Documentation

Dexray Intercept ist Teil der dynamischen Sandbox Sandroid. Sein Zweck ist es, Laufzeitprofile zu erstellen, um das Verhalten einer Android-Anwendung zu verfolgen. Dies wird unter Verwendung von frida bewerkstelligt.

Installation

Installiere es einfach mit pip:

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

Dadurch wird Dexray Intercept als Kommandozeilenwerkzeug ammm oder dexray-intercept installiert. Darüber hinaus wird ein Paket dexray_intercept bereitgestellt. Mehr zur Verwendung des Pakets weiter unten.

Ausführen

Stelle sicher, dass dein Android-Gerät gerootet ist. Der frida-server wird automatisch in der neuesten Version installiert. Danach kannst du Dexray Intercept verwenden, indem du einfach den folgenden Befehl aufrufst:

root@kitploit:~
dexray-intercept <target app>
# oder unter Verwendung des alten Namens:
ammm <target app>

Hook-Auswahl (Neue Funktion)

Alle Hooks sind standardmäßig deaktiviert für optimale Leistung. Aktiviere Hooks basierend auf deinen Analyseanforderungen:

root@kitploit:~
# Bestimmte Hooks aktivieren
dexray-intercept --enable-aes <app_name>                    # AES-Krypto-Hooks aktivieren
dexray-intercept --enable-web <app_name>                    # Web/HTTP-Hooks aktivieren
dexray-intercept --enable-aes --enable-web <app_name>       # Mehrere Hooks aktivieren

# Hook-Gruppen aktivieren
dexray-intercept --hooks-crypto <app_name>                  # Alle Krypto-Hooks aktivieren
dexray-intercept --hooks-network <app_name>                 # Alle Netzwerk-Hooks aktivieren  
dexray-intercept --hooks-filesystem <app_name>              # Alle Dateisystem-Hooks aktivieren

# Alle Hooks aktivieren (Leistungsauswirkung)
dexray-intercept --hooks-all <app_name>                     # Alle verfügbaren Hooks aktivieren

# Paketbezeichner anstelle des App-Namens verwenden
dexray-intercept -s com.example.package --hooks-crypto

Verfügbare Hook-Kategorien

  • Krypto: --hooks-crypto (AES, Kodierungen, Keystore, Zertifikate)
  • Netzwerk: --hooks-network (HTTP, Sockets, SSL/TLS)
  • Dateisystem: --hooks-filesystem (Dateioperationen, Datenbanken, Shared Preferences)
  • IPC: --hooks-ipc (Intents, Broadcasts, Binder, Shared Preferences)
  • Prozess: --hooks-process (DEX-Unpacking, native Bibliotheken, Laufzeit)
  • Dienste: --hooks-services (Kamera, Standort, Telefonie, Bluetooth)

Hier ein Beispiel zur Überwachung der Chrome-App auf unserem 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

Als Paket ausführen

Neue API (Empfohlen)

Installiere Dexray Intercept als Paket und verwende die neue modulare Architektur:

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

Hook-Kategorien

Aktiviere bestimmte Hook-Gruppen basierend auf deinen Analyseanforderungen:

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

Legacy-API (Abwärtskompatibilität)

Die alte API ist weiterhin für Abwärtskompatibilität verfügbar:

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-Verwendung

Um es als Paket in Sandroid auszuführen, stelle sicher, dass du auch den JobManager von AndroidFridaManager installiert hast. Dies ermöglicht das Ausführen mehrerer frida-Sitzungen in verschiedenen Threads. Alles, was du tun musst, ist den folgenden Code auszuführen:

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

Stelle sicher, dass kein anderer Teil deines Codes versucht, sich mit dem frida-Server zu verbinden (keine andere frida-Sitzung). Um dies zu testen, kannst du das folgende Beispiel ausprobieren: catelites_2018_01_19.apk. Der Name für das Paket ist net.classwindexampleyear.bookseapiececountry. Stelle sicher, dass dein AVD auf Android 9 läuft, damit das Beispiel seinen gesamten bösartigen Code ausführen kann. Du kannst dieses Beispiel einfach mit adb install samples/unpacking/catelites_2018_01_19.apk installieren.

Kompilieren und Entwicklung

Um dieses Projekt zu kompilieren, stelle sicher, dass npm und frida-compile auf deinem System laufen und in deinem Pfad installiert sind. Seit frida Version 17.0 wird frida-compile über pip install frida-tools installiert. Dann rufe einfach den folgenden Befehl auf, um den neuesten frida-Agenten zu kompilieren:

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

Dies stellt sicher, dass die neuesten frida-Skripte/Hooks in dexray-intercept verwendet werden.

Um Anpassungen im Python-Code vorzunehmen, wird empfohlen, dexray-intercept mit pip im editierbaren Modus zu installieren:

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

Auf diese Weise werden lokale Änderungen im Python-Code übernommen, ohne eine neue Version des Pakets zu erstellen.

📚 Dokumentation

Eine umfassende Dokumentation ist verfügbar, die Installation, Verwendung, API-Referenz und Entwicklung abdeckt:

  • 📖 Vollständige Dokumentation - Vollständige Dokumentationsseite
  • 🚀 Schnellstartanleitung - In wenigen Minuten loslegen
  • 🐍 Python-API-Referenz - Programmatische Verwendung
  • 🔧 TypeScript-API-Referenz - Entwicklung benutzerdefinierter Hooks
  • 💻 CLI-Verwendungsanleitung - Kommandozeilenschnittstelle
  • ⚙️ Hook-Konfiguration - Hook-Kategorien und -Optionen

Anforderungen

Durch einfaches Aufrufen des folgenden Befehls in diesem Verzeichnis sollte die setup.py verwendet werden, um dexray-intercept als lokales Python-Paket auf deinem System zu installieren:

root@kitploit:~
python3 -m pip install .

Entwicklung

Um die TypeScript-frida-Hooks zu kompilieren, benötigen wir das frida-compile-Projekt (Link). Dieses wird mit frida-tools gebündelt.

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

Darüber hinaus benötigen wir auch Unterstützung für frida-java-bridge und die internen frida-Typen:

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

Deep Unpacking

Beim Unpacking können Anwendungen DexCode—das zuvor auf verschiedene Speicherblöcke verwies—in eine DexFile laden, die den ausgeführten Code repräsentiert. Beispielsweise können einige Anwendungen Anweisungen unmittelbar vor der Ausführung wiederherstellen. In solchen Fällen ist Sandroid nicht in der Lage, die Anweisungen zurück in die DexFile zu überführen. Weitere Forschung ist erforderlich, um dieses Problem zu lösen.

Danksagungen

Dexray Intercept baut auf der hervorragenden Arbeit verschiedener Open-Source-Projekte und Forscher in der Android-Sicherheits- und dynamischen Analyse-Community auf. Wir möchten die folgenden Projekte anerkennen, die unsere Implementierung inspiriert oder dazu beigetragen haben:

Core Frida Framework

  • Frida - Das dynamische Instrumentierungs-Toolkit, das unsere Laufzeitanalysefähigkeiten antreibt
  • frida-java-bridge - Essentiell für Java/Android-Laufzeitinstrumentierung

Hook-Implementierungen & Techniken

  • AppMon von @dpnishant - Bereitstellung grundlegender Hooks für Laufzeitanalyse, IPC-Überwachung, Clipboard-Zugriff und Datenbankoperationen
  • Android-Malware-Sandbox von @Areizen - Base64-Kodierungs-Hooks und Socket-Überwachungstechniken
  • RMS-Runtime-Mobile-Security von @m0bilesecurity - Keystore-Analyse und Erkennung von Certificate Pinning
  • Medusa von @Ch0pin - Laufzeitanalysemuster und DEX-Unpacking-Techniken
  • frida-android-libbinder von @Hamz-a - Android Binder IPC-Analyse
  • frida-snippets von @iddoeldor - Standort-Spoofing und Hilfsfunktionen

Android-Sicherheitsforschung

  • BlackDex von @CodingGay - DEX-Unpacking und Anti-Analyse-Bypass-Techniken
  • Frida-Python-Binding von @Mind0xP - Python-Integrationsmuster für Frida

SQLite- & Datenbankanalyse

  • SQLite Database Hook von @ninjadiary - Datenbanküberwachungstechniken

Wir danken diesen Projekten und ihren Maintainern für die Weiterentwicklung des Stands der Android-Sicherheitsanalyse und dafür, dass sie ihre Arbeit der Community zur Verfügung stellen.

Roadmap

  • [ x ] Vorlagen für die verschiedenen Hookings erstellen, die wir installieren möchten, um ein Laufzeitprofil zu erhalten
  • Eine Testanwendung erstellen, die all die verschiedenen Funktionen nutzt, die wir hooken möchten (wir brauchen eine Art Ground Truth, um unsere Hooks zu testen)
  • Die eigentlichen Hooks implementieren
  • [ x ] Das Format zum Ausgeben der überwachten Informationen
  • https://attack.mitre.org/matrices/mobile/ dies als Endergebnis hinzufügen, damit wir sagen können, welche Art von Angriffen die Anwendung verwendet
  • Wir möchten auch Dinge wie "dies sind Datenschutzprobleme", "dies könnte zu Fehlern führen" ... verfolgen
Tool herunterladen