Hexter

Come aprire e leggere un file binario su Mac

Hai un file senza un’estensione utile, o una che macOS non riconosce, un .bin, un dump di firmware, un vecchio salvataggio di gioco, qualcosa esportato da un dispositivo. Ci fai doppio clic e o non succede nulla, o si apre in TextEdit come un muro di caratteri illeggibili. Vuoi sapere come aprire un file binario su Mac senza tirare a indovinare e senza mettere a rischio il file stesso.

Perché il doppio clic non funziona

macOS decide come aprire un file in base alla sua estensione e, in mancanza di questa, a una supposizione sul suo tipo. I file binari, i file che memorizzano dati grezzi anziché testo, non hanno un’estensione standard che il sistema riconosce, quindi macOS o si rifiuta di aprirli o li affida a qualsiasi app pensi sia la più vicina. Di solito si tratta di TextEdit, che prova a decodificare i byte come testo e ti mostra simboli per lo più illeggibili con qualche parola reale che spunta qua e là.

Quell’effetto della parola leggibile in mezzo al rumore non è una tua impressione. I file binari contengono spesso testo incorporato (percorsi di file, etichette, stringhe di versione) anche se i dati circostanti sono realmente binari. TextEdit renderizza tutto quanto come testo, ed è per questo che ottieni quell’aspetto per metà confuso e per metà familiare. In realtà non ti sta mostrando nulla di utile, e se salvi da TextEdit per sbaglio, puoi corrompere il file.

Cosa vuoi davvero: una vista esadecimale

Un file binario è semplicemente una sequenza di byte, ognuno un numero da 0 a 255. Il modo standard per guardarlo in sicurezza è una vista esadecimale: ogni byte mostrato come un valore esadecimale di due caratteri (da 00 a FF), allineato in righe accanto a una colonna dell’offset (dove ti trovi nel file) e a una colonna di testo (gli stessi byte interpretati come ASCII, per le parti leggibili). È ciò che ti offre un editor esadecimale, ed è l’unica vista che ti mostra il contenuto reale senza tirare a indovinare un formato.

Tre modi per arrivarci

Terminal, con xxd o hexdump. macOS include entrambi. Esegui xxd yourfile.bin | less e otterrai un dump esadecimale scorribile direttamente in Terminal. È veloce ed è sempre disponibile, ma è in sola lettura, non ha ricerca, non ha salto all’offset, e nessuna interpretazione di ciò che stai guardando oltre l’esadecimale grezzo. Va bene per una sbirciatina veloce, ma è scomodo per qualcosa di più.

TextEdit o un altro editor di testo. Non farlo. Come detto sopra, decodifica i byte come testo, che è la lente sbagliata per i dati binari, e c’è un rischio reale di corrompere silenziosamente il file se viene salvato.

Un editor esadecimale dedicato. È lo strumento giusto se stai facendo più di uno sguardo di cinque secondi: scorrere un file grande, cercare uno schema di byte specifico, saltare a un offset noto, o controllare cosa rappresenta davvero un blocco di byte (un numero, una data, un colore, una stringa in una codifica diversa). Hexter è costruito esattamente per questo. Apre ogni file in sola lettura per impostazione predefinita, quindi guardare un file binario sconosciuto non comporta alcun rischio di modificarlo. I file si aprono all’istante indipendentemente dalla dimensione, perché Hexter legge i byte su richiesta anziché caricare l’intero file in memoria.

Passo dopo passo

  1. Apri il file. Trascinalo su Hexter, oppure usa File > Apri. Non serve indovinare prima un tipo di file; Hexter apre qualsiasi cosa come byte grezzi.
  2. Leggi la disposizione. La colonna dell’offset a sinistra ti dice dove ti trovi nel file. La griglia esadecimale al centro mostra ogni byte come due caratteri esadecimali. Il pannello di testo a destra mostra gli stessi byte come ASCII, per le parti del file che sono testo effettivo.
  3. Salta a un offset specifico con ⌘J se sai già dove guardare, invece di scorrere.
  4. Seleziona dei byte per ispezionarli. Selezionare un intervallo ti mostra quei dati interpretati come diversi tipi numerici (interi a 8, 16, 32 o 64 bit, con o senza segno, in entrambi gli ordini di byte) nella barra laterale Inspector. È così che capisci se quattro byte sono la dimensione di un file, una marca temporale o qualcos’altro.
  5. Cerca con ⌘F se stai cercando una stringa o una sequenza di byte specifica anziché scorrere manualmente.
  6. Attiva la modifica solo se devi davvero cambiare qualcosa. Hexter mantiene i file in sola lettura finché non attivi esplicitamente la modifica, e anche allora, le modifiche restano in un livello di patch reversibile finché non scegli di salvare. Nulla di ciò che fai mentre stai solo guardando può toccare il file originale.

Se si scopre che il file è un formato che Hexter riconosce strutturalmente, PNG, ZIP, Mach-O, WAV o SQLite, la scheda Analyze ne analizzerà la struttura reale (confini dei chunk, intestazioni, campi) accanto ai byte grezzi, così ottieni più del solo esadecimale.

Ecco l’intero flusso di lavoro: apri, leggi le tre colonne, salta o cerca per arrivare dove ti serve, e ispeziona una selezione quando devi sapere cosa significa davvero una specifica sequenza di byte. Nessuna congettura, e nulla a rischio finché non lo decidi tu.