
SentinelNav: abhängigkeitsfreies, reines Python-Tool zur Binärvisualisierung und Forensik.
SentinelNav ist ein abhängigkeitsfreies, reines Python-Werkzeug zur Binärvisualisierung und Forensik. Es wandelt Binärdaten in eine interaktive Spektralkarte um, die Analysten in die Lage versetzt, Dateistrukturen, Entropie-Anomalien, Codeabschnitte und potenzielle kryptografische Blobs visuell zu identifizieren.
Es kombiniert ein Multiprocessing-Backend für schnelles Datei-Scanning mit einem lokalen webbasierten Frontend für interaktive Erkundung, Hex-Inspektion und Architektur-Fingerprinting.

Da SentinelNav nur auf der Python-Standardbibliothek basiert, ist keine Installation externer Pakete erforderlich.
sentinelnav.py.python3 sentinelnav.py
http://localhost:8000.pip install.0x0A für Logs oder textbasierte Protokolle).concurrent.futures.ProcessPoolExecutor, um beim Scannen alle CPU-Kerne zu verwenden.SentinelNav folgt einer Producer-Consumer-Architektur mit einer Client-Server-Schnittstelle.
N Bytes iterativ.Processor erzeugt einen Worker-Pool basierend auf der CPU-Anzahl.sqlite3-Datenbank erstellt einen strukturierten Index der Binärdatei.http.server.ThreadingMixIn für die gleichzeitige Bearbeitung von HTTP-Anfragen./data: Gibt JSON-Seiten mit Blockdaten (Farbe + Entropie) zurück./read: Liefert spezifische Hex-Dumps für das Inspektor-Panel./search: Durchsucht die physische Datei nach Hex-Sequenzen./download: Extrahiert rohe Binär-Blobs oder erzeugt die BMP-Visualisierung.Das Werkzeug verwendet einen spezifischen RGB-Algorithmus, um Binärdatentypen darzustellen.
| Farbe | Komponente | Bedeutung |
|---|---|---|
| ROT | High-Bit | Bytes 0x80 - 0xFF. Kennzeichnet kompilierten Maschinencode, komprimierte Daten, verschlüsselte Blobs oder Bilddaten. |
| GRÜN | ASCII | Bytes 0x20 - 0x7E. Kennzeichnet Klartext, Quellcode, JSON, XML oder Logs. |
| BLAU | Steuerung | Bytes 0x00 - 0x1F. Kennzeichnet Null-Padding, Header oder Protokoll-Steuerzeichen. |
Häufige Muster:
Es müssen keine Bibliotheken installiert werden. Lade einfach die Datei herunter.
# Clone or download the script
wget https://raw.githubusercontent.com/smolfiddle/SentinelNav/main/sentinelnav.py
Du kannst das Werkzeug interaktiv oder über Befehlszeilenargumente ausführen.
Ohne Argumente gestartet, wird der Assistent geöffnet:
python3 sentinelnav.py
Für Automatisierung oder Power-User können Flags verwendet werden, um den Assistenten zu überspringen.
python3 sentinelnav.py <target_file> [options]
| Argument | Beschreibung | Standard |
|---|---|---|
--mode | Scan-Modus: fixed oder sentinel. | fixed |
--size | Blockgröße (in Bytes) für den Fixed-Modus bzw. maximaler Puffer für den Sentinel-Modus. | 1024 |
--hex | Das Trennzeichen-Byte für den Sentinel-Modus (z. B. 0A für Zeilenumbruch). | 00 |
--port | Der Webserver-Port. | 8000 |
--window | Größe des gleitenden Fensters für die Berechnung der Anomalieerkennung. | 5 |
Beispiel: Ein Firmware-Image mit einer Auflösung von 256 Bytes auf Port 8080 scannen:
python3 sentinelnav.py firmware.bin --size 256 --port 8080
Sobald die Webschnittstelle geladen ist, sind die folgenden Steuerungen verfügbar: