Lavorare con il comando Readelf Linux
Prima di iniziare a utilizzare il comando readelf, installalo utilizzando il comando seguente:
$ sudo APT Installa binutili
Una volta installato, è possibile aprire la sua pagina di aiuto digitando il suo nome sul terminale.
$ readelf
Esistono diverse opzioni da utilizzare con Readelf. Cercheremo di coprire la maggior parte di loro usando gli esempi. Innanzitutto, assicurati di avere un file ELF da utilizzare per il campione.
Per il nostro esempio, useremo a C Codice del programma con cui compileremo GCC Per convertirlo in elfo, come mostrato nel seguente:
Utilizzare la seguente sintassi per verificare che il file sia in formato ELF.
$ file file file
Se il file è elfo, dovrebbe restituire come elfo nel suo output, come mostrato nella seguente immagine:
Visualizzando le intestazioni del file elfo
Il lettura offre il -H Flag che elenca tutte le intestazioni nell'elfo specificato. Nel nostro caso, possiamo elencare tutte le intestazioni nel elfo-file1 come mostrato nel seguente:
$ readelf -h elf -file1
Visualizzazione delle intestazioni del programma ELF
Se si desidera visualizzare le intestazioni del programma del file, usa il flag -l.
Allo stesso modo, puoi ottenere le intestazioni della sezione usando il flag -s. L'output mostra le diverse sezioni contenute nello spazio degli indirizzi dei processi:
Visualizzazione della tabella dei simboli
Un file elfo contiene tabelle di simboli. Puoi estrarre le loro informazioni utilizzando il flag -s.
È possibile notare le diverse voci nelle sezioni della tabella dei simboli del tuo file come nell'output precedente.
Inoltre, è possibile restringere l'output e specificare quale sezione tra le intestazioni della sezione ottenere i suoi dettagli. La sintassi per questo è:
$ readelf -p [section-name] [file-name]
Ad esempio, usiamo il .strtab.
La nostra produzione sarebbe:
L'output precedente è più comprensibile e specifico per la sezione.
Visualizzazione delle note fondamentali
Se il file ha segmenti o sezioni di note, il -N La flag visualizza il contenuto. Puoi usarlo come nella seguente immagine di esempio:
Alcuni dei contenuti visualizzati includono i dettagli del proprietario e la dimensione dei dati.
Visualizzazione dell'istogramma
È possibile rappresentare le lunghezze dell'elenco dei bucket in un istogramma quando si visualizza il contenuto della tabella dei simboli. IL -IO l'opzione viene utilizzata o -istogramma.
Visualizzazione della sezione di trasferimento
Se il file ELF ha sezioni di trasferimento, è possibile ottenere il contenuto utilizzando il -R O -RELOCS bandiera.
Inoltre, se il file ha sezioni dinamiche, il contenuto della sezione può essere recuperato utilizzando il -D bandiera.
I contenuti includono il tag, il tipo e il nome o il valore per ciascun contenuto.
La quantità di informazioni sul file ELF che è possibile estrarre utilizzando il comando Readelf Linux è infinita. La pagina Man offre più opzioni che puoi utilizzare per attività diverse. Tutto ciò di cui hai bisogno è cercare un'opzione che raggiunga ciò per cui intendi e usarlo.
Conclusione
Abbiamo coperto il comando readelf Linux, come installarlo e come iniziare a utilizzare lo strumento. Se stai cercando uno strumento per visualizzare le diverse informazioni sui file ELF, Readelf è perfetto per il lavoro. Ha molte opzioni e la cosa buona è che è facile da usare, come abbiamo visto negli esempi indicati. Provalo!