
Un editor esadecimale completo compatibile con Linux/Windows/MacOS
Questo progetto nasce con l'obiettivo di sviluppare uno strumento leggero ma utile. Il motivo è che gli editor esadecimali esistenti hanno diverse limitazioni (ad esempio troppe dipendenze, funzionalità di colorazione esadecimale mancanti, ecc.).

Questo progetto è basato sui motori qhexedit2, capstone e keystone. Nuove funzionalità potrebbero essere aggiunte in futuro, le PR sono benvenute.
CTRL + F]CTRL + B]CTRL + C e CTRL + V]CTRL + Spazio]Canc o CTRL + D]CTRL + Z e CTRL + Y]CTRL + S]CTRL + G]INS]CTRL + N]CTRL + T]F5]F1]F2]F3]F4]F4]CTRL + Su/Giù o CTRL + -/+)Fhex può caricare all'avvio un file di configurazione (da ~/fhex/config.json) in formato JSON con un elenco di stringhe o byte da evidenziare e un commento/etichetta da aggiungere vicino alle corrispondenze.
Esempi:
{
"PatternMatching":
[
{
"string" : "://www.",
"color" : "rgba(250,200,200,50)",
"message" : "Found url"
},
{
"bytes" : "414243",
"color" : "rgba(250,200,200,50)",
"message" : "Found ABC"
}
]
}
Per attivare il pattern matching premi CTRL + P
Alla fine, Fhex mostrerà anche un elenco di offset con tutti i riferimenti ai risultati.
Nota: Le etichette con commenti vengono aggiunte solo se la finestra è massimizzata, se le etichette non vengono visualizzate correttamente prova a eseguire di nuovo il pattern matching.
Fhex ha la funzionalità di creare un grafico del file binario caricato (Nota: Per compilare il progetto, ora hai bisogno anche di qt5-charts installato sul sistema).
L'intervallo dell'asse y è compreso tra 0 e 255 (in hex 0x0 e 0xff, cioè i valori dei byte). L'intervallo dell'asse x è compreso tra 0 e la dimensione del file.
Il grafico traccia i valori dei byte del file binario e ti permette di concentrarti solo sulle sezioni rilevanti. Ad esempio, se in un file binario c'è un'area piena di byte nulli, puoi facilmente rilevarla dal grafico.
Il progetto ha le seguenti dipendenze: qt5-charts (pacchetto: libqt5charts5-dev in debian/ubuntu), capstone (opzionale) e keystone (opzionale).
Su linux puoi verificare se hai la libreria obbligatoria con ldconfig -p | grep -i qt5charts
Fhex di default è compilato con il profilo MINIMAL, questo significa che non include capstone e keystone. Puoi cambiare questa opzione rimuovendo la riga corrispondente da fhex.pro.
Per compilare Fhex su linux esegui questi comandi:
mkdir build
cd build
qmake ..
make -j$(nproc)
GPL-3