Leggere file binari con Linux
Su Linux, se abbiamo la necessità di visualizzare il contenuto di file binari, abbiamo diversi comandi a disposizione.
Cominciamo col crearne uno ad hoc.
Aprite un terminale e digitate:
$ echo "0000 4865 6c6c 6f20 776f 726c 6421 0000" > text
$ xxd -r -p text > binary
Il comando xxd lo useremo anche dopo.
A questo punto vediamo i vari comandi con i rispettivi output.
Cominciamo con hexdump:
$ hexdump binary
0000000 0000 6548 6c6c 206f 6f77 6c72 2164 0000
0000010
Questo comando visualizza il contenuto in esadecimale, ottale, decimale o ascii.
Facendo il "percorso a ritroso" con xxd:
$ xxd binary
00000000: 0000 4865 6c6c 6f20 776f 726c 6421 0000 ..Hello world!..
Questo mostra già un output differente, più leggibile.
Altro comando utile è stat:
$ stat binary
File: "binary"
Dim.: 16 Blocchi: 8 Blocco di IO: 4096 file regolare
Device: 802h/2050d Inode: 10257134 Coll.: 1
Accesso: (0644/-rw-r--r--) Uid: ( 1000/ matte) Gid: ( 1000/ matte)
Accesso : 2016-01-15 13:29:55.834132911 +0100
Modifica : 2016-01-15 13:29:51.754135519 +0100
Cambio : 2016-01-15 13:29:51.754135519 +0100
Creazione: -
Come vedete produce parecchio output in più.
Infatti, dalla man page, vediamo che si occupa di fornire informazioni sullo stato di un file o di un filesystem.
Ultimo comando che conosco è strings:
$ strings binary
Hello world!
Questo si occupa di stampare a video quello che trova dentro al file.
Ovviamente ognuno di questi comandi ha parecchie opzioni in più.
Qui vi ho mostrato gli esempi più basilari.
Enjoy!
linux hedump stat strings xxd
Commentami!