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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
binviz — Binärer Visualisierer und Triage-Werkzeug — Entropie-, Byte-Klassen- und Hilbert-Oberflächen, Punktdiagramme und Kontrollflussgraphen über einem gemeinsamen Adressraum-Modell. | Kitploit
Tools/GitHubGitHub/karankantaria/binviz
Statische AnalyseReverse EngineeringForensikFuzzingMalware-AnalyseBinäranalyseLernen & Bildung
GitHubkarankantaria/binviz

binviz

Binärer Visualisierer und Triage-Werkzeug — Entropie-, Byte-Klassen- und Hilbert-Oberflächen, Punktdiagramme und Kontrollflussgraphen über einem gemeinsamen Adressraum-Modell.

Repository anzeigen
885vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Webseite
Teilen

binviz

Binärvisualisierungs- und Triage-Tool: verknüpfte interaktive Ansichten (Entropie, Histogramme, Bild-/Punktdiagramm-Oberflächen, Kontrollflussgraphen) über einem gemeinsamen Adressraummodell.

pipx install binviz && binviz serve

Was es tut

Öffnen Sie eine Datei, und jede Ansicht betrachtet denselben Adressraum. Wählen Sie einen Bereich in einer aus, und die übrigen folgen — das Ziel ist es, die Frage „Was ist diese Region?“ zu beantworten, indem man sie gleichzeitig auf mehrere Arten betrachtet.

  • Kartieren. binviz model parst ELF/PE/Mach-O über LIEF in Regionen, Symbole und eine Offset↔virtuelle-Adress-Zuordnung und materialisiert Lücken und Überlagerungen. Fehlerhafte Eingaben fallen auf ein Rohmodell zurück, statt zu scheitern.
  • Die Teile finden, die einen Blick wert sind. Fensterbasierte Entropie und andere benannte Signale, Byteklassen- und Hilbert-Oberflächen sowie Fensterklassifikation gegen Schwellenwerte, die aus einem Ground-Truth-Korpus gemessen statt ausgewählt werden (ARCHITECTURE.md §2.1). Gepackt, verschlüsselt, Code und Padding sehen nicht gleich aus.
  • Eine Kodierung identifizieren. Bigramm- und Sparse-Trigramm-Histogramme, ein Punktdiagramm für Wiederholungen und Selbstähnlichkeit sowie eine Bildansicht über 15 gepackte Pixelformate und 24 Bayer-Modi — mit einem Zeilenlängen-Vorschläger, denn die falsche Zeilenlänge verwandelt ein Foto in diagonales Rauschen, und man schließt daraus, dass es kein Foto gibt.
  • Den Code lesen. Capstone-Dekodierung per linearem Sweep und rekursivem Abstieg (differential gegen objdump getestet), eine fünfstufige Funktionserkennungs-Kaskade einschließlich Sprungtabellen sowie Kontrollflussgraphen, die in einem Worker angeordnet werden — wobei die Unsicherheit einer rekonstruierten Grenze gezeichnet statt verborgen wird.
  • Ein Urteil erhalten. binviz triage sagt, wie die Datei aussieht und warum; in der UI führt jeder Befund per Klick zu den Bytes, aus denen er abgeleitet wurde.

Die UI besteht aus fünf Arbeitsbereichen — Übersicht, Bytes, Muster, Code und Alles — über derselben Auswahl. Nur statische Analyse: Proben werden geparst, niemals ausgeführt.

Screenshots

Übersichts-Arbeitsbereich

Bytes-Arbeitsbereich

Muster-Arbeitsbereich

Code-Arbeitsbereich

Tafeln

Gerendert mit demselben Code, mit dem die UI zeichnet, direkt aus der CLI — neu generieren mit python docs/make_plates.py.

Ein statisches BinärprogrammDasselbe Programm, UPX-gepackt
Hilbert-Byteklasse, statischHilbert-Byteklasse, gepackt
Code, Strings und Padding trennen sich in sichtbare Territorien.Die Struktur kollabiert zu gleichförmigem Rauschen — das Kennzeichen von Packen.
Entropie, statischEntropie, gepackt
Fensterbasierte Entropie bleibt gebändert und niedrig.Flach und hoch, bis direkt zum Entpack-Stub.
Richtige ZeilenlängeFalsche Zeilenlänge
RGB-Balken, korrekte ZeilenlängeRGB-Balken, falsche Zeilenlänge

Dieselben Bytes, eine Zahl anders. Genau deshalb gibt es den Zeilenlängen-Vorschläger: Die falsche Zeilenlänge verwandelt ein Foto in diagonales Rauschen, und man schließt daraus, dass es kein Foto gibt.

ARCHITECTURE.md beschreibt, wie es zusammengesetzt ist: was ausgeliefert wird, das Branding, das jede Oberfläche erbt, die Konventionen, denen ein neuer Bildschirm folgen muss, und die Einschränkungen, die bewusst gewählt sind. SECURITY.md ist die Sicherheitslage.

Schnellstart

python -m venv .venv
# -c pinnt auf die exakten Versionen, gegen die die Suite grün ist; pyproject.toml
# veröffentlicht Bereiche, also ohne -c bekommt man, was heute aufgelöst wird
.venv/Scripts/pip install -e ".[dev]" -c constraints-dev.txt   # POSIX: .venv/bin/pip

# Ground-Truth-Korpus bauen (verwendet zig cc aus dem ziglang-Pip-Paket;
# benötigt UPX im PATH, in $UPX oder entpackt in corpus/tools/upx-*/)
make -C corpus                            # oder: python corpus/build.py

# Schwellenwerte werden gemessen, nie hartkodiert (siehe ARCHITECTURE.md §2.1)
python corpus/calibrate.py                # schreibt corpus/calibration.json

pytest                                    # funktionale Suite
pytest -m perf -s                         # 100-MB-Leistungsziele

binviz probe  corpus/out/hello_O2
binviz model  corpus/out/hello_upx
binviz signal corpus/out/hello_upx --name entropy_4096 --png out.png
binviz hist   corpus/out/ramp16.bin --n 2 --dtype u16le --png bigram.png

# Oberflächen: -p übergibt Oberflächenparameter
binviz surface corpus/out/hello_static --name hilbert -p mode=byteclass --png h.png
binviz surface corpus/out/rgb_raw.bin  --name image -p mode=rgb8 -p width=320 --png i.png
binviz surface corpus/out/repeats.bin  --name dotplot -p mode=exact --png d.png
binviz stride  corpus/out/bayer_raw.bin --mode bayer_RGGB_RGB_12

# Code
binviz disasm    corpus/out/hello_O2 --limit 20
binviz functions corpus/out/hello_static --sort size
binviz cfg       corpus/out/hello_O2 --func main --dot main.dot

# Das Urteil und warum
binviz triage corpus/out/hello_upx

Den Server ausführen

binviz serve                              # 127.0.0.1:8000

Er gibt eine URL mit einem Sitzungstoken aus — öffnen Sie diese. Jede /api-Route erfordert das Token, denn „es lauscht nur auf localhost“ ist keine Verteidigung gegen eine Webseite in einem anderen Tab, die 127.0.0.1 genauso erreicht wie jeder andere Ursprung. SECURITY.md enthält die Begründung.

Der Dateizugriff ist auf --root beschränkt (Standard: das Arbeitsverzeichnis), daher werden Pfade außerhalb davon verweigert.

Grenzen

Alle vier haben ein Flag und eine Umgebungsvariable, und alle vier existieren, um zu verhindern, dass ein lokaler Aufrufer mehr verbraucht, als beabsichtigt. Die Standardwerte sind für ein Laptop gewählt; erhöhen Sie sie, wenn Ihre Maschine größer ist.

Tool herunterladen