Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
binviz — Visualizzatore binario e strumento di triage — superfici di entropia, classi di byte e Hilbert, dot plot e grafi di flusso di controllo su un unico modello condiviso di spazio degli indirizzi. | Kitploit
Strumenti/GitHubGitHub/karankantaria/binviz
Analisi StaticaReverse EngineeringInformatica ForenseFuzzingAnalisi MalwareAnalisi di BinariApprendimento e Formazione
GitHubkarankantaria/binviz

binviz

Visualizzatore binario e strumento di triage — superfici di entropia, classi di byte e Hilbert, dot plot e grafi di flusso di controllo su un unico modello condiviso di spazio degli indirizzi.

Vedi Repository
8851 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Sito web
Condividi

binviz

Strumento di visualizzazione e triage binario: viste interattive collegate (entropia, istogrammi, superfici immagine/dot-plot, grafi di flusso di controllo) su un unico modello condiviso di spazio degli indirizzi.

pipx install binviz && binviz serve

Cosa fa

Apri un file e ogni vista osserva lo stesso spazio degli indirizzi. Seleziona un intervallo in una e le altre lo seguono — l'obiettivo è rispondere a "cos'è questa regione" osservandola in più modi contemporaneamente.

  • Mappalo. binviz model analizza ELF/PE/Mach-O tramite LIEF in regioni, simboli e una mappatura offset↔indirizzo virtuale, materializzando lacune e sovrapposizioni. Input malformati ricadono su un modello grezzo invece di fallire.
  • Trova le parti che meritano attenzione. Entropia a finestra e altri segnali nominati, superfici a classi di byte e Hilbert, e classificazione a finestra rispetto a soglie misurate da un corpus di verità di base piuttosto che scelte a mano (ARCHITECTURE.md §2.1). Dati impacchettati, cifrati, codice e padding non si somigliano.
  • Identifica una codifica. Istogrammi a bigrammi e trigrammi sparsi, un dot-plot per ripetizioni e auto-similarità, e una vista immagine su 15 formati pixel impacchettati e 24 modalità Bayer — con un suggeritore di stride, perché uno stride di riga sbagliato trasforma una fotografia in rumore diagonale e concludi che non c'è alcuna fotografia.
  • Leggi il codice. Decodifica Capstone tramite scansione lineare e discesa ricorsiva (testata in modo differenziale contro objdump), una cascata di scoperta funzioni a cinque livelli che include tabelle di salto, e grafi di flusso di controllo disposti in un worker — con l'incertezza di un confine recuperato disegnata piuttosto che nascosta.
  • Ottieni un verdetto. binviz triage dice come appare il file e perché; nell'interfaccia ogni risultato porta con un clic ai byte da cui è stato derivato.

L'interfaccia è composta da cinque aree di lavoro — Panoramica, Byte, Pattern, Codice e Tutto — sulla stessa selezione. Solo analisi statica: i campioni vengono analizzati, mai eseguiti.

Screenshot

Area di lavoro Panoramica

Area di lavoro Byte

Area di lavoro Pattern

Area di lavoro Codice

Tavole

Renderizzate dallo stesso codice che l'interfaccia usa per disegnare, direttamente dalla CLI — rigenera con python docs/make_plates.py.

Un binario staticoLo stesso programma, impacchettato con UPX
Classe di byte Hilbert, staticoClasse di byte Hilbert, impacchettato
Codice, stringhe e padding si separano in territori visibili.La struttura collassa in rumore uniforme — la firma dell'impacchettamento.
Entropia, staticoEntropia, impacchettato
L'entropia a finestra rimane a bande e bassa.Piatta e alta, fino allo stub di decompressione.
Stride di riga correttoStride di riga sbagliato
Barre RGB, stride correttoBarre RGB, stride sbagliato

Stessi byte, un numero diverso. Ecco perché esiste il suggeritore di stride: lo stride di riga sbagliato trasforma una fotografia in rumore diagonale, e concludi che non c'è alcuna fotografia.

ARCHITECTURE.md spiega come è assemblato: cosa viene distribuito, il marchio che ogni superficie eredita, le convenzioni che una nuova schermata deve seguire, e i limiti che sono deliberati. SECURITY.md è la postura di sicurezza.

Avvio rapido

python -m venv .venv
# -c fissa le versioni esatte contro cui la suite è verde; pyproject.toml
# pubblica intervalli, quindi senza di esso ottieni qualunque cosa risolva oggi
.venv/Scripts/pip install -e ".[dev]" -c constraints-dev.txt   # POSIX: .venv/bin/pip

# costruisci il corpus di verità di base (usa zig cc dal pacchetto pip ziglang;
# richiede UPX nel PATH, in $UPX, o decompresso in corpus/tools/upx-*/)
make -C corpus                            # oppure: python corpus/build.py

# le soglie sono misurate, mai hardcoded (vedi ARCHITECTURE.md §2.1)
python corpus/calibrate.py                # scrive corpus/calibration.json

pytest                                    # suite funzionale
pytest -m perf -s                         # obiettivi di prestazione 100 MB

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

# superfici: -p passa i parametri della superficie
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

# codice
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

# il verdetto, e il perché
binviz triage corpus/out/hello_upx

Esecuzione del server

binviz serve                              # 127.0.0.1:8000

Stampa un URL contenente un token di sessione — aprilo. Ogni rotta /api richiede il token, perché "ascolta solo su localhost" non è una difesa contro una pagina web in un'altra scheda, che raggiunge 127.0.0.1 come qualsiasi altra origine. SECURITY.md contiene il ragionamento.

L'accesso ai file è limitato a --root (predefinito: la directory di lavoro), quindi i percorsi al di fuori di esso vengono rifiutati.

Limiti

Tutti e quattro hanno un flag e una variabile d'ambiente, e tutti e quattro esistono per impedire a un chiamante locale di consumare più di quanto intendi. I valori predefiniti sono scelti per un laptop; alzali se la tua macchina è più grande.

Scarica lo strumento