Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/karankantaria/binviz
Analyse StatiqueRétro-ingénierieAnalyse ForensiqueFuzzingAnalyse de MalwareAnalyse de BinairesApprentissage et Éducation
GitHubkarankantaria/binviz

binviz

Analyseur et outil de triage binaire — entropie, classes d'octets et surfaces de Hilbert, diagrammes en points et graphes de flux de contrôle sur un modèle d'espace d'adressage partagé.

Voir le dépôt
885il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Site web
Partager

binviz

Outil de visualisation et de triage binaire : vues interactives liées (entropie, histogrammes, surfaces image/dot-plot, graphes de flux de contrôle) sur un modèle d'espace d'adressage partagé unique.

pipx install binviz && binviz serve

Ce qu'il fait

Ouvrez un fichier et chaque vue observe le même espace d'adressage. Sélectionnez une plage dans l'une et les autres suivent — l'objectif est de répondre à la question « qu'est-ce que cette région » en l'examinant de plusieurs manières à la fois.

  • Cartographiez-le. binviz model analyse ELF/PE/Mach-O via LIEF en régions, symboles et un mappage offset↔adresse virtuelle, en matérialisant les lacunes et les superpositions. Une entrée malformée retombe sur un modèle brut plutôt que d'échouer.
  • Trouvez les parties qui valent la peine d'être examinées. Entropie fenêtrée et autres signaux nommés, surfaces de classes d'octets et de Hilbert, et classification fenêtrée par rapport à des seuils mesurés à partir d'un corpus de vérité terrain plutôt que choisis (ARCHITECTURE.md §2.1). Les données compressées, chiffrées, le code et le bourrage ne se ressemblent pas.
  • Identifiez un encodage. Histogrammes de bigrammes et de trigrammes épars, dot plot pour les répétitions et l'auto-similarité, et une vue image sur 15 formats de pixels compressés et 24 modes Bayer — avec un suggérateur de pas, car un mauvais pas de ligne transforme une photographie en bruit diagonal et vous concluez qu'il n'y a pas de photographie.
  • Lisez le code. Décodage Capstone par balayage linéaire et descente récursive (testé différentiellement contre objdump), une cascade de découverte de fonctions en cinq niveaux incluant les tables de saut, et des graphes de flux de contrôle disposés dans un worker — avec l'incertitude d'une limite récupérée dessinée plutôt que cachée.
  • Obtenez un verdict. binviz triage indique à quoi ressemble le fichier et pourquoi ; dans l'interface, chaque constatation renvoie aux octets dont elle est dérivée.

L'interface comprend cinq espaces de travail — Vue d'ensemble, Octets, Motifs, Code et Tout — sur la même sélection. Analyse statique uniquement : les échantillons sont analysés, jamais exécutés.

Captures d'écran

Espace de travail Vue d'ensemble

Espace de travail Octets

Espace de travail Motifs

Espace de travail Code

Planches

Rendu par le même code que celui utilisé par l'interface, directement depuis la CLI — régénérez avec python docs/make_plates.py.

Un binaire statiqueLe même programme, compressé avec UPX
Classe d'octets Hilbert, statiqueClasse d'octets Hilbert, compressé
Le code, les chaînes et le bourrage se séparent en territoires visibles.La structure s'effondre en bruit uniforme — la signature de la compression.
Entropie, statiqueEntropie, compressé
L'entropie fenêtrée reste en bandes et faible.Plate et élevée, jusqu'au stub de décompression.
Bon pas de ligneMauvais pas de ligne
Barres RVB, pas correctBarres RVB, mauvais pas

Mêmes octets, un seul nombre différent. C'est pourquoi le suggérateur de pas existe : un mauvais pas de ligne transforme une photographie en bruit diagonal, et vous concluez qu'il n'y a pas de photographie.

ARCHITECTURE.md explique comment c'est assemblé : ce qui est livré, la marque que chaque surface hérite, les conventions qu'un nouvel écran doit suivre, et les limitations qui sont délibérées. SECURITY.md est la posture de sécurité.

Démarrage rapide

python -m venv .venv
# -c épingle aux versions exactes contre lesquelles la suite est verte ; pyproject.toml
# publie des plages, donc sans cela vous obtenez ce qui se résout aujourd'hui
.venv/Scripts/pip install -e ".[dev]" -c constraints-dev.txt   # POSIX : .venv/bin/pip

# construire le corpus de vérité terrain (utilise zig cc du paquet pip ziglang ;
# nécessite UPX dans PATH, dans $UPX, ou décompressé dans corpus/tools/upx-*/)
make -C corpus                            # ou : python corpus/build.py

# les seuils sont mesurés, jamais codés en dur (voir ARCHITECTURE.md §2.1)
python corpus/calibrate.py                # écrit corpus/calibration.json

pytest                                    # suite fonctionnelle
pytest -m perf -s                         # cibles de performance 100 Mo

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

# surfaces : -p passe les paramètres de surface
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

# le verdict, et pourquoi
binviz triage corpus/out/hello_upx

Exécution du serveur

binviz serve                              # 127.0.0.1:8000

Il affiche une URL contenant un jeton de session — ouvrez-la. Chaque route /api exige le jeton, car « il n'écoute que sur localhost » n'est pas une défense contre une page web dans un autre onglet, qui atteint 127.0.0.1 comme n'importe quelle autre origine. SECURITY.md contient le raisonnement.

L'accès aux fichiers est confiné à --root (par défaut : le répertoire de travail), donc les chemins en dehors sont refusés.

Limites

Télécharger l’outil