Forstå leselinux -kommandoen

Forstå leselinux -kommandoen
Når du jobber med forskjellige programmer og kompilatorer som GCC, Du ender ofte opp med å samle programmene i et binært format som er kjørbare. Objektfilen som genereres er bare forståelig av maskinen, og den eneste måten mennesker kan jobbe og forstå innholdet er ved å bruke leself kommando. Med readelf kan du hente ut informasjonen fra ELF (kjørbare og koblingsbare format) -filene. Leself -programmet er nesten lik objdump. Men med leself får du mer spesifikke detaljer og i motsetning til Objdump, er det ikke avhengig av BFD bibliotek.

Arbeider med Leself Linux -kommandoen

Før du begynner å bruke ReadelF -kommandoen, installer den ved hjelp av følgende kommando:

$ sudo apt installer binutils

Når du er installert, kan du åpne hjelpesiden ved å skrive navnet på terminalen.

$ Leself

Det er forskjellige alternativer å bruke med lesel. Vi vil prøve å dekke de fleste av dem ved å bruke eksemplene. Først må du sørge for at du har en ELF -fil å bruke for prøven.

For vårt eksempel vil vi bruke en C Programkode som vi vil kompilere med GCC For å konvertere den til ELF, som vist i følgende:

Bruk følgende syntaks for å bekrefte at filen er i ELF -format.

$ Fil-navn

Hvis filen er ELF, bør den returnere som ELF i utgangen, som vist i følgende bilde:

Viser ELF -filens overskrifter

Lesningen tilbyr -h Flagg som viser alle overskriftene i den spesifiserte ELF. I vårt tilfelle kan vi liste opp alle overskriftene i Elf-File1 Som vist i følgende:

$ readelf -h Elf -File1

Viser ELF -programoverskriftene

Hvis du ønsker å se programoverskriftene til filen, bruk -L -flagget.

Tilsvarende kan du få seksjonen overskrifter ved hjelp av -s -flagget. Utgangen viser de forskjellige seksjonene i adresseområdet til prosessene:

Viser symboltabellen

En ELF -fil inneholder symboltabeller. Du kan hente ut informasjonen deres ved hjelp av -s -flagget.

Du kan merke de forskjellige oppføringene i symboltabelldelene i filen din som i forrige utgang.

Videre er det mulig å begrense utgangen og spesifisere hvilken seksjon mellom seksjonsoverskriftene du vil få detaljene. Syntaksen for dette er:

$ readelf -p [seksjonsnavn] [filnavn]

La oss for eksempel bruke .Strtab.

Utgangen vår ville være:

Den forrige utgangen er mer forståelig og spesifikk for seksjonen.

Viser kjernedragene

Hvis filen har noen notisegmenter eller seksjoner, -n Flaget viser innholdet. Du kan bruke det som i følgende eksempelbilde:

Noe av innholdet som vises inkluderer eierdetaljer og datastørrelse.

Viser histogrammet

Du kan representere bøtte -listelengdene i et histogram når du viser symboltabellens innhold. De -Jeg alternativet brukes eller -histogram.

Viser flytteseksjonen

Hvis ELF -filen har flytteseksjoner, kan du få innholdet ved å bruke -r eller -flytter flagg.

Hvis filen har noen dynamiske seksjoner, kan seksjonens innhold også hentes ved hjelp av -d flagg.

Innholdet inkluderer taggen, typen og navnet eller verdien for hvert innhold.

Mengden informasjon om ELF -filen som du kan trekke ut ved hjelp av Readelf Linux -kommandoen er uendelig. MAN -siden tilbyr flere alternativer som du kan bruke til forskjellige oppgaver. Alt du trenger er å se etter ett alternativ som oppnår det du har tenkt og bruker det til.

Konklusjon

Vi dekket lestelinux -kommandoen, hvordan du installerer den, og hvordan du kommer i gang med verktøyet. Hvis du leter etter et verktøy for å vise den forskjellige informasjonen om ELF -filer, er readelf perfekt for jobben. Det har mange alternativer, og det gode er at det er enkelt å bruke, som vi har sett i de gitte eksemplene. Prøv det!