RHEXA

Benutzerhandbuch

Entwicklungsstand: RHEXA ist noch nicht als Paket veröffentlicht. Installiert wird aus dem Quellcode. Befehl und MCP-Server heißen rhexa.

Konzepte

Ziel
Das untersuchte Artefakt: ein natives Programm, eine Bibliothek, eine App, eine Webseite, ein Mitschnitt. RHEXA identifiziert es über seinen SHA-256-Hash.
Sitzung
Mit open_binary wird ein Ziel geöffnet; die Rhexa Engine startet beim ersten Analysezugriff und hält das analysierte Programm bis close_binary.
Engine und Provider
Die statische Tiefenanalyse übernimmt die Rhexa Engine. Übergangsweise unterstützt RHEXA weitere Provider (Hopper, IDA), die laut Roadmap entfallen.
Evidence
Jedes Ergebnis ist ein Beleg mit Artefaktidentität, Werkzeug, Parametern, Engine-Version und Fundstelle. Beobachtungen, Ableitungen, Hypothesen und offene Fragen bleiben getrennt; fehlende Abdeckung wird ausgewiesen.
Unbekannte
Was sich nicht belegen lässt, wird als unbekannt geführt statt geraten.

Arbeiten mit dem Agenten

Wichtige Werkzeuge

WerkzeugZweck
open_binary, close_binaryZiel öffnen bzw. Sitzung schließen, optional mit Snapshot
binary_overviewFormat, Architektur, Segmente, Anzahl Funktionen und Zeichenketten
list_procedures, search_strings, list_stringsInventare durchsuchen
analyze_function, procedure_pseudo_codeFunktionsdossier bzw. Pseudocode
read_bytes, inspect_native_instructionSpeicherinhalte und einzelne Befehle
disassemble_rangeListing einer Sektion oder eines Adressbereichs; Daten bleiben Daten
run_engine_scriptkuratierte Engine-Skripte: raw_strings, instruction_search, function_graph, cpp_classes
inspect_object_fileHeader, Sektionen, Symbole, Relocations und DWARF-Zeilentabellen von ELF, PE und Mach-O so, wie die Datei sie angibt
capture_process_scenarioProgramm kontrolliert ausführen und beobachten (Laufzeit)

Die vollständige Liste zeigt der Agent selbst oder rhexa --help.

Kommandozeile

rhexa providers --json                         # verfügbare Analyse-Provider
rhexa analyze  <ziel> --provider ghidra --json  # Überblick
rhexa search   <ziel> "text" --provider ghidra --json
rhexa function <ziel> <name|adresse> --provider ghidra --json
rhexa decompile <ziel> <adresse> --provider ghidra --json
rhexa xrefs    <ziel> <adresse> --provider ghidra --json
rhexa trace    <ziel> "text" --provider ghidra --json

Ohne --json erscheint eine lesbare Zusammenfassung. Der Exit-Code ist 0 bei Erfolg und ungleich 0 bei einem typisierten Fehler, dessen Code und Abhilfe in der Ausgabe stehen.

Snapshots und Belege

Beim Schließen einer Sitzung lässt sich ein Snapshot schreiben, der Ziel, Analyseprofil und alle Belege enthält:

close_binary  snapshot_path=/pfad/untersuchung.snapshot.json

Auf der Kommandozeile laden Befehle einen gespeicherten Snapshot mit --snapshot; die Analyse muss dann nicht wiederholt werden. Belege lassen sich außerdem als Bundle exportieren, importieren und vergleichen.

Laufzeitbeobachtung

Wo statische Analyse nicht reicht, kann RHEXA Prozesse kontrolliert starten und beobachten, Frida-Sitzungen nutzen oder Webseiten im Browser beobachten. Diese Werkzeuge führen Code aus und sind im Werkzeugvertrag entsprechend gekennzeichnet.

Grenzen