Skip to content

Instantly share code, notes, and snippets.

@jvns
Created August 20, 2014 13:23
Show Gist options
  • Save jvns/37ce4ad26758b403f6b3 to your computer and use it in GitHub Desktop.
Save jvns/37ce4ad26758b403f6b3 to your computer and use it in GitHub Desktop.
readelf --sections hello
There are 30 section headers, starting at offset 0x1148:
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
[ 0] NULL 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
[ 1] .interp PROGBITS 0000000000400238 00000238
000000000000001c 0000000000000000 A 0 0 1
[ 2] .note.ABI-tag NOTE 0000000000400254 00000254
0000000000000020 0000000000000000 A 0 0 4
[ 3] .note.gnu.build-i NOTE 0000000000400274 00000274
0000000000000024 0000000000000000 A 0 0 4
[ 4] .gnu.hash GNU_HASH 0000000000400298 00000298
000000000000001c 0000000000000000 A 5 0 8
[ 5] .dynsym DYNSYM 00000000004002b8 000002b8
0000000000000060 0000000000000018 A 6 1 8
[ 6] .dynstr STRTAB 0000000000400318 00000318
000000000000003d 0000000000000000 A 0 0 1
[ 7] .gnu.version VERSYM 0000000000400356 00000356
0000000000000008 0000000000000002 A 5 0 2
[ 8] .gnu.version_r VERNEED 0000000000400360 00000360
0000000000000020 0000000000000000 A 6 1 8
[ 9] .rela.dyn RELA 0000000000400380 00000380
0000000000000018 0000000000000018 A 5 0 8
[10] .rela.plt RELA 0000000000400398 00000398
0000000000000030 0000000000000018 A 5 12 8
[11] .init PROGBITS 00000000004003c8 000003c8
0000000000000018 0000000000000000 AX 0 0 4
[12] .plt PROGBITS 00000000004003e0 000003e0
0000000000000030 0000000000000010 AX 0 0 16
[13] .text PROGBITS 0000000000400410 00000410
00000000000001d8 0000000000000000 AX 0 0 16
[14] .fini PROGBITS 00000000004005e8 000005e8
000000000000000e 0000000000000000 AX 0 0 4
[15] .rodata PROGBITS 00000000004005f8 000005f8
000000000000000b 0000000000000000 A 0 0 4
[16] .eh_frame_hdr PROGBITS 0000000000400604 00000604
000000000000002c 0000000000000000 A 0 0 4
[17] .eh_frame PROGBITS 0000000000400630 00000630
00000000000000a4 0000000000000000 A 0 0 8
[18] .ctors PROGBITS 0000000000600e28 00000e28
0000000000000010 0000000000000000 WA 0 0 8
[19] .dtors PROGBITS 0000000000600e38 00000e38
0000000000000010 0000000000000000 WA 0 0 8
[20] .jcr PROGBITS 0000000000600e48 00000e48
0000000000000008 0000000000000000 WA 0 0 8
[21] .dynamic DYNAMIC 0000000000600e50 00000e50
0000000000000190 0000000000000010 WA 6 0 8
[22] .got PROGBITS 0000000000600fe0 00000fe0
0000000000000008 0000000000000008 WA 0 0 8
[23] .got.plt PROGBITS 0000000000600fe8 00000fe8
0000000000000028 0000000000000008 WA 0 0 8
[24] .data PROGBITS 0000000000601010 00001010
0000000000000010 0000000000000000 WA 0 0 8
[25] .bss NOBITS 0000000000601020 00001020
0000000000000010 0000000000000000 WA 0 0 8
[26] .comment PROGBITS 0000000000000000 00001020
000000000000002a 0000000000000001 MS 0 0 1
[27] .shstrtab STRTAB 0000000000000000 0000104a
00000000000000fe 0000000000000000 0 0 1
[28] .symtab SYMTAB 0000000000000000 000018c8
0000000000000600 0000000000000018 29 46 8
[29] .strtab STRTAB 0000000000000000 00001ec8
00000000000001f1 0000000000000000 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment