Skip to content

Instantly share code, notes, and snippets.

@darealshinji
Last active August 29, 2015 14:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save darealshinji/40f8b34872bbb88feaf6 to your computer and use it in GitHub Desktop.
Save darealshinji/40f8b34872bbb88feaf6 to your computer and use it in GitHub Desktop.
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x3e7a804190
Start of program headers: 64 (bytes into file)
Start of section headers: 85848 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 7
Size of section headers: 64 (bytes)
Number of section headers: 32
Section header string table index: 31
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
[ 0] NULL 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
[ 1] .note.gnu.build-i NOTE 0000003e7a8001c8 000001c8
0000000000000024 0000000000000000 A 0 0 4
[ 2] .gnu.hash GNU_HASH 0000003e7a8001f0 000001f0
0000000000000a1c 0000000000000000 A 3 0 8
[ 3] .dynsym DYNSYM 0000003e7a800c10 00000c10
0000000000001788 0000000000000018 A 4 3 8
[ 4] .dynstr STRTAB 0000003e7a802398 00002398
0000000000001132 0000000000000000 A 0 0 1
[ 5] .gnu.version VERSYM 0000003e7a8034ca 000034ca
00000000000001f6 0000000000000002 A 3 0 2
[ 6] .gnu.version_d VERDEF 0000003e7a8036c0 000036c0
0000000000000150 0000000000000000 A 4 10 8
[ 7] .gnu.version_r VERNEED 0000003e7a803810 00003810
00000000000000a0 0000000000000000 A 4 3 8
[ 8] .rela.dyn RELA 0000003e7a8038b0 000038b0
0000000000000108 0000000000000018 A 3 0 8
[ 9] .rela.plt RELA 0000003e7a8039b8 000039b8
0000000000000498 0000000000000018 A 3 11 8
[10] .init PROGBITS 0000003e7a803e50 00003e50
0000000000000018 0000000000000000 AX 0 0 4
[11] .plt PROGBITS 0000003e7a803e68 00003e68
0000000000000320 0000000000000010 AX 0 0 4
[12] .text PROGBITS 0000003e7a804190 00004190
000000000000c8a8 0000000000000000 AX 0 0 16
[13] .fini PROGBITS 0000003e7a810a38 00010a38
000000000000000e 0000000000000000 AX 0 0 4
[14] .rodata PROGBITS 0000003e7a810a60 00010a60
0000000000000a38 0000000000000000 A 0 0 32
[15] .eh_frame_hdr PROGBITS 0000003e7a811498 00011498
0000000000000864 0000000000000000 A 0 0 4
[16] .eh_frame PROGBITS 0000003e7a811d00 00011d00
0000000000002314 0000000000000000 A 0 0 8
[17] .tbss NOBITS 0000003e7aa14018 00014018
000000000000006c 0000000000000000 WAT 0 0 8
[18] .ctors PROGBITS 0000003e7aa14018 00014018
0000000000000020 0000000000000000 WA 0 0 8
[19] .dtors PROGBITS 0000003e7aa14038 00014038
0000000000000018 0000000000000000 WA 0 0 8
[20] .jcr PROGBITS 0000003e7aa14050 00014050
0000000000000008 0000000000000000 WA 0 0 8
[21] .data.rel.ro PROGBITS 0000003e7aa14058 00014058
0000000000000008 0000000000000000 WA 0 0 8
[22] .dynamic DYNAMIC 0000003e7aa14060 00014060
00000000000001e0 0000000000000010 WA 4 0 8
[23] .got PROGBITS 0000003e7aa14240 00014240
0000000000000038 0000000000000008 WA 0 0 8
[24] .got.plt PROGBITS 0000003e7aa14278 00014278
00000000000001a0 0000000000000008 WA 0 0 8
[25] .data PROGBITS 0000003e7aa14420 00014420
0000000000000090 0000000000000000 WA 0 0 32
[26] .bss NOBITS 0000003e7aa144c0 000144b0
00000000000000d0 0000000000000000 WA 0 0 32
[27] .gnu_debuglink PROGBITS 0000000000000000 000144b0
000000000000001c 0000000000000000 0 0 4
[28] .gnu.liblist GNU_LIBLIST 0000000000000000 000144cc
0000000000000050 0000000000000014 29 0 4
[29] .gnu.libstr STRTAB 0000000000000000 0001451c
0000000000000042 0000000000000000 0 0 1
[30] .gnu.prelink_undo PROGBITS 0000000000000000 00014560
00000000000008c8 0000000000000001 0 0 8
[31] .shstrtab STRTAB 0000000000000000 00014e28
000000000000012b 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)
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
LOAD 0x0000000000000000 0x0000003e7a800000 0x0000003e7a800000
0x0000000000014014 0x0000000000014014 R E 200000
LOAD 0x0000000000014018 0x0000003e7aa14018 0x0000003e7aa14018
0x0000000000000498 0x0000000000000578 RW 200000
DYNAMIC 0x0000000000014060 0x0000003e7aa14060 0x0000003e7aa14060
0x00000000000001e0 0x00000000000001e0 RW 8
NOTE 0x00000000000001c8 0x0000003e7a8001c8 0x0000003e7a8001c8
0x0000000000000024 0x0000000000000024 R 4
TLS 0x0000000000014018 0x0000003e7aa14018 0x0000003e7aa14018
0x0000000000000000 0x000000000000006c R 8
GNU_EH_FRAME 0x0000000000011498 0x0000003e7a811498 0x0000003e7a811498
0x0000000000000864 0x0000000000000864 R 4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 8
Section to Segment mapping:
Segment Sections...
00 .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_d .gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame
01 .ctors .dtors .jcr .data.rel.ro .dynamic .got .got.plt .data .bss
02 .dynamic
03 .note.gnu.build-id
04 .tbss
05 .eh_frame_hdr
06
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x3770
Start of program headers: 64 (bytes into file)
Start of section headers: 58080 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 8
Size of section headers: 64 (bytes)
Number of section headers: 28
Section header string table index: 27
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
[ 0] NULL 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
[ 1] .note.gnu.build-i NOTE 0000000000000200 00000200
0000000000000024 0000000000000000 A 0 0 4
[ 2] .gnu.hash GNU_HASH 0000000000000228 00000228
00000000000007f8 0000000000000000 A 3 0 8
[ 3] .dynsym DYNSYM 0000000000000a20 00000a20
0000000000001380 0000000000000018 A 4 3 8
[ 4] .dynstr STRTAB 0000000000001da0 00001da0
0000000000000e68 0000000000000000 A 0 0 1
[ 5] .gnu.version VERSYM 0000000000002c08 00002c08
00000000000001a0 0000000000000002 A 3 0 2
[ 6] .gnu.version_d VERDEF 0000000000002da8 00002da8
0000000000000108 0000000000000000 A 4 8 8
[ 7] .gnu.version_r VERNEED 0000000000002eb0 00002eb0
00000000000000b0 0000000000000000 A 4 2 8
[ 8] .rela.dyn RELA 0000000000002f60 00002f60
0000000000000150 0000000000000018 A 3 0 8
[ 9] .rela.plt RELA 00000000000030b0 000030b0
00000000000003f0 0000000000000018 A 3 11 8
[10] .init PROGBITS 00000000000034a0 000034a0
000000000000001a 0000000000000000 AX 0 0 4
[11] .plt PROGBITS 00000000000034c0 000034c0
00000000000002b0 0000000000000010 AX 0 0 16
[12] .text PROGBITS 0000000000003770 00003770
0000000000006f30 0000000000000000 AX 0 0 16
[13] .fini PROGBITS 000000000000a6a0 0000a6a0
0000000000000009 0000000000000000 AX 0 0 4
[14] .rodata PROGBITS 000000000000a6b0 0000a6b0
0000000000000400 0000000000000000 A 0 0 8
[15] .eh_frame_hdr PROGBITS 000000000000aab0 0000aab0
00000000000006a4 0000000000000000 A 0 0 4
[16] .eh_frame PROGBITS 000000000000b158 0000b158
0000000000001de4 0000000000000000 A 0 0 8
[17] .tbss NOBITS 000000000020dd80 0000dd80
0000000000000064 0000000000000000 WAT 0 0 8
[18] .init_array INIT_ARRAY 000000000020dd80 0000dd80
0000000000000018 0000000000000000 WA 0 0 8
[19] .fini_array FINI_ARRAY 000000000020dd98 0000dd98
0000000000000010 0000000000000000 WA 0 0 8
[20] .jcr PROGBITS 000000000020dda8 0000dda8
0000000000000008 0000000000000000 WA 0 0 8
[21] .dynamic DYNAMIC 000000000020ddb0 0000ddb0
0000000000000210 0000000000000010 WA 4 0 8
[22] .got PROGBITS 000000000020dfc0 0000dfc0
0000000000000040 0000000000000008 WA 0 0 8
[23] .got.plt PROGBITS 000000000020e000 0000e000
0000000000000168 0000000000000008 WA 0 0 8
[24] .data PROGBITS 000000000020e170 0000e170
0000000000000058 0000000000000000 WA 0 0 16
[25] .bss NOBITS 000000000020e1e0 0000e1c8
00000000000000a0 0000000000000000 WA 0 0 32
[26] .gnu_debuglink PROGBITS 0000000000000000 0000e1c8
0000000000000018 0000000000000000 0 0 1
[27] .shstrtab STRTAB 0000000000000000 0000e1e0
00000000000000fd 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)
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x000000000000cf3c 0x000000000000cf3c R E 200000
LOAD 0x000000000000dd80 0x000000000020dd80 0x000000000020dd80
0x0000000000000448 0x0000000000000500 RW 200000
DYNAMIC 0x000000000000ddb0 0x000000000020ddb0 0x000000000020ddb0
0x0000000000000210 0x0000000000000210 RW 8
NOTE 0x0000000000000200 0x0000000000000200 0x0000000000000200
0x0000000000000024 0x0000000000000024 R 4
TLS 0x000000000000dd80 0x000000000020dd80 0x000000000020dd80
0x0000000000000000 0x0000000000000064 R 8
GNU_EH_FRAME 0x000000000000aab0 0x000000000000aab0 0x000000000000aab0
0x00000000000006a4 0x00000000000006a4 R 4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 10
GNU_RELRO 0x000000000000dd80 0x000000000020dd80 0x000000000020dd80
0x0000000000000280 0x0000000000000280 R 1
Section to Segment mapping:
Segment Sections...
00 .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_d .gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame
01 .init_array .fini_array .jcr .dynamic .got .got.plt .data .bss
02 .dynamic
03 .note.gnu.build-id
04 .tbss
05 .eh_frame_hdr
06
07 .init_array .fini_array .jcr .dynamic .got
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment