Questi editor esadecimali consentono di modificare i valori esadecimali, consentendo così agli utenti di modificare il comportamento dei file anche se non hanno accesso al codice sorgente. Tuttavia, i dati rappresentati da un editor esadecimale non sono esattamente leggibili dall'uomo. Leggere e interpretare i valori esadecimali per dedurre la logica e il comportamento del programma non è affatto un compito facile e richiede notevoli sforzi per trovare valori e apportare anche il più piccolo cambiamento. Un editor esadecimale è uno dei primi strumenti utilizzati durante il reverse engineering di un file.
Xxd
Il comando Xxd ti consente di scaricare dati esadecimali da un file binario. Può anche invertire il dump dei dati esadecimali in un file binario, rendendolo così un utile editor esadecimale della riga di comando. È disponibile nei repository di quasi tutte le principali distribuzioni Linux, solitamente come parte del pacchetto dell'editor di testo Vim.
Per scaricare dati esadecimali da un file, eseguire un comando nel seguente formato:
$ xxd binario.file
Per convertire un dump esadecimale in binario, utilizzare l'interruttore "r":
$ xxd -r dump esadecimale.filePuoi esplorare tutte le sue opzioni eseguendo i due comandi menzionati di seguito:
$ xxd --help$ uomo xxd
Jeex
Jeex è un editor esadecimale open source in grado di visualizzare e modificare file binari. Può presentare dati in formato binario, ASCII, esadecimale e ottale. Può essere utilizzato per trovare e sostituire valori in una varietà di formati, esplorare i tipi di dati e analizzare le stringhe. Può anche essere usato per visualizzare le differenze tra due file binari.
Puoi installare Jeex in Ubuntu usando il comando menzionato di seguito:
$ sudo apt install jeexJeex è disponibile nei repository di tutte le principali distribuzioni Linux, quindi puoi installare Jeex dal gestore pacchetti. Puoi anche compilare una build dal codice sorgente disponibile qui.
GHex
GHex o "GNOME Hex Editor" fa parte dello stack di applicazioni GNOME3 ed è disponibile nei repository predefiniti della maggior parte delle distribuzioni Linux. Può presentare dati sia in formato esadecimale che ASCII ed è possibile modificare e salvare le modifiche nel file binario originale. Puoi anche usarlo per mostrare una tabella di valori convertiti in notazioni diverse.
Puoi installare GHex in Ubuntu usando il comando menzionato di seguito:
$ sudo apt install ghexGHex è disponibile nei repository di tutte le principali distribuzioni Linux, quindi puoi installare GHex dal gestore pacchetti. Puoi anche scaricarlo dal negozio Flathub.
wxHexEditor
wxHexEditor è un editor esadecimale appositamente progettato per gestire file binari di grandi dimensioni la cui dimensione può essere eseguita in GB. Le sue altre funzionalità sono alla pari con GHex e Jeex in quanto può sia modificare il contenuto di un file binario che salvarlo nel file originale.
Puoi installare wxHexEditor in Ubuntu usando il comando menzionato di seguito:
$ sudo apt install wxhexeditorwxHexEditor è disponibile nei repository di tutte le principali distribuzioni Linux, quindi puoi installare wxHexEditor dal gestore dei pacchetti. Puoi anche compilare il suo file binario eseguibile dal codice sorgente.
Okteta
Okteta è un editor esadecimale scritto nelle librerie C++ e Qt. Fa parte della suite di applicazioni KDE e presenta un layout multi-riquadro per una migliore visibilità e leggibilità dei dati binari. Le caratteristiche principali di Okteta includono visualizzazioni dati multiple, riquadri agganciabili, codifiche numeriche e di caratteri, visualizzazioni a schede e così via.
Puoi installare Okteta in Ubuntu usando il comando menzionato di seguito:
$ sudo apt install oktetaOkteta è disponibile nei repository di tutte le principali distribuzioni Linux, quindi puoi installare Okteta dal gestore di pacchetti. Puoi anche scaricarlo dal negozio Flathub.
Hexedit
Hexedit è uno strumento da riga di comando open source in grado di visualizzare e modificare file binari presentando i dati nei formati esadecimale e ASCII. Supporta la ricerca di dati per valori e può mostrare un output scorrevole. Accetta anche numerose scorciatoie da tastiera per navigare tra i dati esadecimali. Hexedit dispone anche di utili scorciatoie di modifica per copiare, incollare e selezionare i dati.
Puoi installare Hexedit in Ubuntu usando il comando menzionato di seguito:
$ sudo apt install hexeditHexedit è disponibile nei repository di tutte le principali distribuzioni Linux, quindi puoi installare Hexedit dal gestore pacchetti. Puoi anche compilare il suo file binario eseguibile dal codice sorgente.
Per aprire un file binario in Hexedit, usa un comando nel seguente formato:
$ esadecimale binario.filePer saperne di più sul suo utilizzo, esegui i seguenti due comandi:
$ hexedit --help$ man hexedit
Hexer
Hexer è un editor esadecimale da riga di comando che supporta l'interfaccia e le combinazioni di tasti simili a vi. Può mostrare più buffer e supporta il completamento automatico. Può anche utilizzare espressioni RegEx per cercare dati e consentire agli utenti di annullare le modifiche.
Puoi installare Hexer in Ubuntu usando il comando menzionato di seguito:
$ sudo apt install hexerHexer è disponibile nei repository di tutte le principali distribuzioni Linux, quindi puoi installare Hexer dal gestore pacchetti. Puoi anche compilare il suo file binario eseguibile dal codice sorgente.
Per aprire un file binario in Hexer, usa un comando nel seguente formato:
$ esadecimale binario.filePer saperne di più sul suo utilizzo, esegui i seguenti due comandi:
$ hexer --help$ uomo hexer
Conclusione
Gli editor esadecimali sono davvero utili per visualizzare i dati binari di file precompilati il cui codice sorgente in genere non è disponibile. Tuttavia, visualizzare i dati esadecimali, trovare i valori corretti, comprendere i modelli e modificare i dati può essere un compito estremamente difficile poiché spesso i dati leggibili dall'uomo non sono disponibili. Nonostante queste sfide, gli sviluppatori utilizzano spesso editor esadecimali per decodificare i dati binari.