Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
hexcymatix — Visualizza sequenze di byte ripetute nei file binari per rivelare strutture nascoste, supportando il reverse engineering e l'individuazione di pattern senza firme predefinite. | Kitploit
Strumenti/GitHubGitHub/xoreaxeaxeax/hexcymatix
Analisi StaticaReverse EngineeringAnalisi di Binari
GitHubxoreaxeaxeax/hexcymatix

hexcymatix

Visualizza sequenze di byte ripetute nei file binari per rivelare strutture nascoste, supportando il reverse engineering e l'individuazione di pattern senza firme predefinite.

Vedi Repository
1315 giorni 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 →
Condividi

hexcymatix

errlook.exe

hexcymatix è un progetto di ricerca esplorativo, vagamente concepito come uno strumento di reverse engineering binario per estrarre informazioni strutturali da pattern di byte ripetuti nei file binari.

L'idea non si è mai concretizzata in uno strumento utilizzabile, ma produce comunque alcune affascinanti rappresentazioni della sorprendente auto-simmetria presente nei dati di uso quotidiano.

Panoramica

A volte nel reverse engineering hai un esempio di certi dati — una tabella, un blob compresso, un payload di protocollo — e vuoi trovare dati simili altrove in un file, senza ancora poter scrivere una regola o un parser che li descriva. Vuoi similarità senza specifica.

hexcymatix parte dal presupposto che stringhe di byte ripetute implichino struttura o relazione, anche se non sappiamo quale sia quella struttura. Visualizzando le ripetizioni, possiamo far emergere dati correlati senza sapere esattamente cosa stiamo cercando.

Ad esempio, il brano delle Pensées qui sotto contiene diverse sequenze che si ripetono (' incapable of ', ' which he ', 'ing either ') — hexcymatix dispone il file su due righe e collega qualsiasi sequenza di byte ripetuta di almeno 8 byte:

Pascal Pensees

Le connessioni che emergono suggeriscono quindi struttura e relazioni sottostanti nei dati.

Ripetendo questo processo su un file binario di uso quotidiano, si iniziano a far emergere automaticamente auto-similarità, connessioni e strutture inaspettate. Come esempio, ecco l'eseguibile per la ricerca degli errori in un'installazione Windows standard:

errlook.exe

La parte più importante del processo è aggiungere archi tra le connessioni dei frammenti per rendere l'output accattivante:

errlook.exe

Avendo ormai perso completamente il filo, possiamo sperimentare con varie rappresentazioni dei dati. Ad esempio, lo stesso file e le stesse connessioni renderizzate attorno al perimetro di un cerchio appaiono come segue:

errlook.exe

Utilizzo

root@kitploit:~
python hexcymatix.py [options] file [file ...]

Flag

Esempi

root@kitploit:~
# Circular visualization of an executable
python hexcymatix.py --circular guidgen.exe

# Linear visualization, top 500 fragments only
python hexcymatix.py --linear --top 500 guidgen.exe

# Batch, 4K output
python hexcymatix.py --circular --resolution 4k *.exe

Output

Eseguibili

cmd.exe

cmd.exe circolare

cmd.exe circolare

calc.exe

calc.exe lineare

calc.exe circolare

explorer.exe

explorer.exe lineare

explorer.exe circolare

Caratteri

Arial TTF

arial.ttf lineare

arial.ttf circolare

Comic Sans TTF

comic.ttf lineare

comic.ttf circolare

Courier New TTF

cour.ttf lineare

cour.ttf circolare

Librerie

kernel32.dll

kernel32.dll lineare

kernel32.dll circolare

spwizres.dll

spwizres.dll lineare

spwizres.dll circolare

user32.dll

user32.dll lineare

user32.dll circolare

Immagini

Sfondo predefinito di Windows 95 ("Clouds")

Clouds.bmp lineare

Clouds.bmp circolare

Sfondo predefinito di Windows XP ("Bliss")

bliss.jpg lineare

bliss.jpg circolare

Testo semplice

EULA di Windows XP

eula.txt lineare

eula.txt circolare

Le Pensées di Pascal

pg18269.txt lineare

pg18269.txt circolare

Audio

Suono di avvio di Windows XP

xpstartu.wav lineare

xpstartu.wav circolare

WMA di Windows XP (la Nona di Beethoven, inclusa nell'installazione)

beethov9.wma lineare

beethov9.wma circolare

Dipendenze

root@kitploit:~
pip install pycairo numpy pillow

pycairo viene compilato contro la libreria cairo nativa, che deve essere presente prima — brew install cairo pkg-config su macOS, oppure apt install libcairo2-dev pkg-config su Debian/Ubuntu.

Applicazioni e futuro

Lo strumento è stato sviluppato come ausilio per il reverse engineering: dato un singolo esempio noto di certi dati — una struct, un blob compresso, un payload di protocollo — trovare altre istanze dello stesso dato nel file senza bisogno di ulteriore RE. La speranza era che le regioni che condividono molte sottosequenze ripetute con l'esempio noto si raggruppassero in candidati degni di ulteriori indagini.

Alla fine, l'idea sembrava traballante e il caso d'uso limitato, quindi la tecnica non è mai stata sviluppata nel tipo di plugin integrato che sarebbe servito per una ricerca utile. Il lavoro è condiviso qui affinché non vada perso nell'etere, nella speranza che forse qualcun altro possa costruirci sopra.

Dichiarazione sull'IA

Questo progetto è stato originariamente scritto a mano in C#. È stato portato in Python utilizzando LLM, con poca supervisione o revisione.

Autore

hexcymatix è uno sforzo di ricerca di Christopher Domas (@xoreaxeaxeax).

errlook.exe

Scarica lo strumento
FlagDescription
--circularLayout circolare: gli offset dei byte corrispondono ad angoli su un anello (predefinito)
--linearLayout a barre parallele: due barre orizzontali collegate da quadrilateri incrociati
--top N [N ...]Mantieni solo gli N frammenti più lunghi prima del rendering; passa più valori per renderizzare un'immagine per ogni soglia
--no-arcsDisegna solo le corde, saltando gli archi (sostanzialmente più veloce, meno rumore visivo)
--resolution RESRisoluzione di output come WxH o un preset: 480p, 720p, 1080p, 1440p, 4k, uwfhd (2560x1080), suwfhd (3840x1080) (predefinito: 1080p)
--ultraAbbreviazione di --resolution 4000x4000
--circle-fill FFrazione del diametro della tela occupata dal cerchio (predefinito: 0.25, o 0.50 per i preset ultra-wide)
--jpgScrivi anche un JPEG all'80% di qualità accanto a ogni PNG
--output-dir DIRDirectory per i file di output (predefinito: output)