实践是检验真理的唯一标准
程序代码:
#include <stdio.h>
int main(void)
{
return 0;
}
gcc -Wall a.c
Compilation finished at Sat Feb 23 17:41:49
objdump -d -s -x -M intel a.out
a.out: 文件格式 elf64-x86-64
a.out
体系结构:i386:x86-64,标志 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
起始地址 0x00000000004003c0
程序头:
PHDR off 0x0000000000000040 vaddr 0x0000000000400040 paddr 0x0000000000400040 align 2**3
filesz 0x00000000000001c0 memsz 0x00000000000001c0 flags r-x
INTERP off 0x0000000000000200 vaddr 0x0000000000400200 paddr 0x0000000000400200 align 2**0
filesz 0x000000000000001c memsz 0x000000000000001c flags r--
LOAD off 0x0000000000000000 vaddr 0x0000000000400000 paddr 0x0000000000400000 align 2**21
filesz 0x000000000000066c memsz 0x000000000000066c flags r-x
LOAD off 0x0000000000000670 vaddr 0x0000000000600670 paddr 0x0000000000600670 align 2**21
filesz 0x0000000000000228 memsz 0x0000000000000230 flags rw-
DYNAMIC off 0x0000000000000688 vaddr 0x0000000000600688 paddr 0x0000000000600688 align 2**3
filesz 0x00000000000001d0 memsz 0x00000000000001d0 flags rw-
NOTE off 0x000000000000021c vaddr 0x000000000040021c paddr 0x000000000040021c align 2**2
filesz 0x0000000000000044 memsz 0x0000000000000044 flags r--
EH_FRAME off 0x0000000000000564 vaddr 0x0000000000400564 paddr 0x0000000000400564 align 2**2
filesz 0x0000000000000034 memsz 0x0000000000000034 flags r--
STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
动态节:
NEEDED libc.so.6
INIT 0x0000000000400370
FINI 0x0000000000400554
INIT_ARRAY 0x0000000000600670
INIT_ARRAYSZ 0x0000000000000008
FINI_ARRAY 0x0000000000600678
FINI_ARRAYSZ 0x0000000000000008
GNU_HASH 0x0000000000400260
STRTAB 0x00000000004002c8
SYMTAB 0x0000000000400280
STRSZ 0x0000000000000038
SYMENT 0x0000000000000018
DEBUG 0x0000000000000000
PLTGOT 0x0000000000600860
PLTRELSZ 0x0000000000000030
PLTREL 0x0000000000000007
JMPREL 0x0000000000400340
RELA 0x0000000000400328
RELASZ 0x0000000000000018
RELAENT 0x0000000000000018
VERNEED 0x0000000000400308
VERNEEDNUM 0x0000000000000001
VERSYM 0x0000000000400300
版本引用:
required from libc.so.6:
0x09691a75 0x00 02 GLIBC_2.2.5
节:
Idx Name Size VMA LMA File off Algn
0 .interp 0000001c 0000000000400200 0000000000400200 00000200 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .note.ABI-tag 00000020 000000000040021c 000000000040021c 0000021c 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .note.gnu.build-id 00000024 000000000040023c 000000000040023c 0000023c 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
3 .gnu.hash 0000001c 0000000000400260 0000000000400260 00000260 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .dynsym 00000048 0000000000400280 0000000000400280 00000280 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .dynstr 00000038 00000000004002c8 00000000004002c8 000002c8 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 .gnu.version 00000006 0000000000400300 0000000000400300 00000300 2**1
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .gnu.version_r 00000020 0000000000400308 0000000000400308 00000308 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
8 .rela.dyn 00000018 0000000000400328 0000000000400328 00000328 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
9 .rela.plt 00000030 0000000000400340 0000000000400340 00000340 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
10 .init 0000001a 0000000000400370 0000000000400370 00000370 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
11 .plt 00000030 0000000000400390 0000000000400390 00000390 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
12 .text 00000194 00000000004003c0 00000000004003c0 000003c0 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
13 .fini 00000009 0000000000400554 0000000000400554 00000554 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
14 .rodata 00000004 0000000000400560 0000000000400560 00000560 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
15 .eh_frame_hdr 00000034 0000000000400564 0000000000400564 00000564 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
16 .eh_frame 000000d4 0000000000400598 0000000000400598 00000598 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
17 .init_array 00000008 0000000000600670 0000000000600670 00000670 2**3
CONTENTS, ALLOC, LOAD, DATA
18 .fini_array 00000008 0000000000600678 0000000000600678 00000678 2**3
CONTENTS, ALLOC, LOAD, DATA
19 .jcr 00000008 0000000000600680 0000000000600680 00000680 2**3
CONTENTS, ALLOC, LOAD, DATA
20 .dynamic 000001d0 0000000000600688 0000000000600688 00000688 2**3
CONTENTS, ALLOC, LOAD, DATA
21 .got 00000008 0000000000600858 0000000000600858 00000858 2**3
CONTENTS, ALLOC, LOAD, DATA
22 .got.plt 00000028 0000000000600860 0000000000600860 00000860 2**3
CONTENTS, ALLOC, LOAD, DATA
23 .data 00000010 0000000000600888 0000000000600888 00000888 2**3
CONTENTS, ALLOC, LOAD, DATA
24 .bss 00000008 0000000000600898 0000000000600898 00000898 2**2
ALLOC
25 .comment 00000011 0000000000000000 0000000000000000 00000898 2**0
CONTENTS, READONLY
SYMBOL TABLE:
0000000000400200 l d .interp 0000000000000000 .interp
000000000040021c l d .note.ABI-tag 0000000000000000 .note.ABI-tag
000000000040023c l d .note.gnu.build-id 0000000000000000 .note.gnu.build-id
0000000000400260 l d .gnu.hash 0000000000000000 .gnu.hash
0000000000400280 l d .dynsym 0000000000000000 .dynsym
00000000004002c8 l d .dynstr 0000000000000000 .dynstr
0000000000400300 l d .gnu.version 0000000000000000 .gnu.version
0000000000400308 l d .gnu.version_r 0000000000000000 .gnu.version_r
0000000000400328 l d .rela.dyn 0000000000000000 .rela.dyn
0000000000400340 l d .rela.plt 0000000000000000 .rela.plt
0000000000400370 l d .init 0000000000000000 .init
0000000000400390 l d .plt 0000000000000000 .plt
00000000004003c0 l d .text 0000000000000000 .text
0000000000400554 l d .fini 0000000000000000 .fini
0000000000400560 l d .rodata 0000000000000000 .rodata
0000000000400564 l d .eh_frame_hdr 0000000000000000 .eh_frame_hdr
0000000000400598 l d .eh_frame 0000000000000000 .eh_frame
0000000000600670 l d .init_array 0000000000000000 .init_array
0000000000600678 l d .fini_array 0000000000000000 .fini_array
0000000000600680 l d .jcr 0000000000000000 .jcr
0000000000600688 l d .dynamic 0000000000000000 .dynamic
0000000000600858 l d .got 0000000000000000 .got
0000000000600860 l d .got.plt 0000000000000000 .got.plt
0000000000600888 l d .data 0000000000000000 .data
0000000000600898 l d .bss 0000000000000000 .bss
0000000000000000 l d .comment 0000000000000000 .comment
0000000000000000 l df *ABS* 0000000000000000 init.c
0000000000000000 l df *ABS* 0000000000000000
0000000000000000 l df *ABS* 0000000000000000 crtstuff.c
0000000000600680 l O .jcr 0000000000000000 __JCR_LIST__
00000000004003f0 l F .text 0000000000000000 deregister_tm_clones
0000000000400420 l F .text 0000000000000000 register_tm_clones
0000000000400460 l F .text 0000000000000000 __do_global_dtors_aux
0000000000600898 l O .bss 0000000000000001 completed.6719
0000000000600678 l O .fini_array 0000000000000000 __do_global_dtors_aux_fini_array_entry
0000000000400480 l F .text 0000000000000000 frame_dummy
0000000000600670 l O .init_array 0000000000000000 __frame_dummy_init_array_entry
0000000000000000 l df *ABS* 0000000000000000 a.c
0000000000000000 l df *ABS* 0000000000000000 crtstuff.c
0000000000400668 l O .eh_frame 0000000000000000 __FRAME_END__
0000000000600680 l O .jcr 0000000000000000 __JCR_END__
0000000000000000 l df *ABS* 0000000000000000
0000000000600678 l .init_array 0000000000000000 __init_array_end
0000000000600688 l O .dynamic 0000000000000000 _DYNAMIC
0000000000600670 l .init_array 0000000000000000 __init_array_start
0000000000600860 l O .got.plt 0000000000000000 _GLOBAL_OFFSET_TABLE_
0000000000400550 g F .text 0000000000000002 __libc_csu_fini
0000000000000000 w *UND* 0000000000000000 _ITM_deregisterTMCloneTable
0000000000600888 w .data 0000000000000000 data_start
0000000000600898 g .data 0000000000000000 _edata
0000000000400554 g F .fini 0000000000000000 _fini
0000000000000000 F *UND* 0000000000000000 __libc_start_main@@GLIBC_2.2.5
0000000000600888 g .data 0000000000000000 __data_start
0000000000000000 w *UND* 0000000000000000 __gmon_start__
0000000000600890 g O .data 0000000000000000 .hidden __dso_handle
0000000000400560 g O .rodata 0000000000000004 _IO_stdin_used
00000000004004c0 g F .text 0000000000000089 __libc_csu_init
00000000006008a0 g .bss 0000000000000000 _end
00000000004003c0 g F .text 0000000000000000 _start
0000000000600898 g .bss 0000000000000000 __bss_start
00000000004004ac g F .text 000000000000000b main
0000000000000000 w *UND* 0000000000000000 _Jv_RegisterClasses
0000000000600898 g O .data 0000000000000000 .hidden __TMC_END__
0000000000000000 w *UND* 0000000000000000 _ITM_registerTMCloneTable
0000000000400370 g F .init 0000000000000000 _init
Contents of section .interp:
400200 2f6c6962 36342f6c 642d6c69 6e75782d /lib64/ld-linux-
400210 7838362d 36342e73 6f2e3200 x86-64.so.2.
Contents of section .note.ABI-tag:
40021c 04000000 10000000 01000000 474e5500 ............GNU.
40022c 00000000 02000000 06000000 20000000 ............ ...
Contents of section .note.gnu.build-id:
40023c 04000000 14000000 03000000 474e5500 ............GNU.
40024c 5448e27b 4e7de3fc 6335fbbf 9eeaf67d TH.{N}..c5.....}
40025c 7230817a r0.z
Contents of section .gnu.hash:
400260 01000000 01000000 01000000 00000000 ................
400270 00000000 00000000 00000000 ............
Contents of section .dynsym:
400280 00000000 00000000 00000000 00000000 ................
400290 00000000 00000000 1a000000 12000000 ................
4002a0 00000000 00000000 00000000 00000000 ................
4002b0 01000000 20000000 00000000 00000000 .... ...........
4002c0 00000000 00000000 ........
Contents of section .dynstr:
4002c8 005f5f67 6d6f6e5f 73746172 745f5f00 .__gmon_start__.
4002d8 6c696263 2e736f2e 36005f5f 6c696263 libc.so.6.__libc
4002e8 5f737461 72745f6d 61696e00 474c4942 _start_main.GLIB
4002f8 435f322e 322e3500 C_2.2.5.
Contents of section .gnu.version:
400300 00000200 0000 ......
Contents of section .gnu.version_r:
400308 01000100 10000000 10000000 00000000 ................
400318 751a6909 00000200 2c000000 00000000 u.i.....,.......
Contents of section .rela.dyn:
400328 58086000 00000000 06000000 02000000 X.`.............
400338 00000000 00000000 ........
Contents of section .rela.plt:
400340 78086000 00000000 07000000 01000000 x.`.............
400350 00000000 00000000 80086000 00000000 ..........`.....
400360 07000000 02000000 00000000 00000000 ................
Contents of section .init:
400370 4883ec08 488b05dd 04200048 85c07405 H...H.... .H..t.
400380 e82b0000 004883c4 08c3 .+...H....
Contents of section .plt:
400390 ff35d204 2000ff25 d4042000 0f1f4000 .5.. ..%.. ...@.
4003a0 ff25d204 20006800 000000e9 e0ffffff .%.. .h.........
4003b0 ff25ca04 20006801 000000e9 d0ffffff .%.. .h.........
Contents of section .text:
4003c0 31ed4989 d15e4889 e24883e4 f0505449 1.I..^H..H...PTI
4003d0 c7c05005 400048c7 c1c00440 0048c7c7 ..P.@.H....@.H..
4003e0 ac044000 e8b7ffff fff46690 0f1f4000 ..@.......f...@.
4003f0 b89f0860 0055482d 98086000 4883f80e ...`.UH-..`.H...
400400 4889e577 025dc3b8 00000000 4885c074 H..w.]......H..t
400410 f45dbf98 086000ff e00f1f80 00000000 .]...`..........
400420 b8980860 0055482d 98086000 48c1f803 ...`.UH-..`.H...
400430 4889e548 89c248c1 ea3f4801 d04889c6 H..H..H..?H..H..
400440 48d1fe75 025dc3ba 00000000 4885d274 H..u.]......H..t
400450 f45dbf98 086000ff e20f1f80 00000000 .]...`..........
400460 803d3104 20000075 11554889 e5e87eff .=1. ..u.UH...~.
400470 ffff5dc6 051e0420 0001f3c3 0f1f4000 ..].... ......@.
400480 48833df8 01200000 741bb800 00000048 H.=.. ..t......H
400490 85c07411 55bf8006 60004889 e5ffd05d ..t.U...`.H....]
4004a0 e97bffff ffe976ff ffff6690 554889e5 .{....v...f.UH..
4004b0 b8000000 005dc366 0f1f8400 00000000 .....].f........
4004c0 48896c24 d84c8964 24e0488d 2da70120 H.l$.L.d$.H.-..
4004d0 004c8d25 98012000 48895c24 d04c896c .L.%.. .H.\$.L.l
4004e0 24e84c89 7424f04c 897c24f8 4883ec38 $.L.t$.L.|$.H..8
4004f0 4c29e541 89ff4989 f648c1fd 034989d5 L).A..I..H...I..
400500 31dbe869 feffff48 85ed741a 0f1f4000 1..i...H..t...@.
400510 4c89ea4c 89f64489 ff41ff14 dc4883c3 L..L..D..A...H..
400520 014839eb 75ea488b 5c240848 8b6c2410 .H9.u.H.\$.H.l$.
400530 4c8b6424 184c8b6c 24204c8b 7424284c L.d$.L.l$ L.t$(L
400540 8b7c2430 4883c438 c30f1f80 00000000 .|$0H..8........
400550 f3c36690 ..f.
Contents of section .fini:
400554 4883ec08 4883c408 c3 H...H....
Contents of section .rodata:
400560 01000200 ....
Contents of section .eh_frame_hdr:
400564 011b033b 30000000 05000000 2cfeffff ...;0.......,...
400574 7c000000 5cfeffff 4c000000 48ffffff |...\...L...H...
400584 a4000000 5cffffff c4000000 ecffffff ....\...........
400594 ec000000 ....
Contents of section .eh_frame:
400598 14000000 00000000 017a5200 01781001 .........zR..x..
4005a8 1b0c0708 90010710 14000000 1c000000 ................
4005b8 08feffff 2a000000 00000000 00000000 ....*...........
4005c8 14000000 00000000 017a5200 01781001 .........zR..x..
4005d8 1b0c0708 90010000 24000000 1c000000 ........$.......
4005e8 a8fdffff 30000000 000e1046 0e184a0f ....0......F..J.
4005f8 0b770880 003f1a3b 2a332422 00000000 .w...?.;*3$"....
400608 1c000000 44000000 9cfeffff 0b000000 ....D...........
400618 00410e10 8602430d 06460c07 08000000 .A....C..F......
400628 24000000 64000000 90feffff 89000000 $...d...........
400638 004a8606 8c05660e 4083078d 048e038f .J....f.@.......
400648 0202580e 08000000 14000000 8c000000 ..X.............
400658 f8feffff 02000000 00000000 00000000 ................
400668 00000000 ....
Contents of section .init_array:
600670 80044000 00000000 ..@.....
Contents of section .fini_array:
600678 60044000 00000000 `.@.....
Contents of section .jcr:
600680 00000000 00000000 ........
Contents of section .dynamic:
600688 01000000 00000000 10000000 00000000 ................
600698 0c000000 00000000 70034000 00000000 ........p.@.....
6006a8 0d000000 00000000 54054000 00000000 ........T.@.....
6006b8 19000000 00000000 70066000 00000000 ........p.`.....
6006c8 1b000000 00000000 08000000 00000000 ................
6006d8 1a000000 00000000 78066000 00000000 ........x.`.....
6006e8 1c000000 00000000 08000000 00000000 ................
6006f8 f5feff6f 00000000 60024000 00000000 ...o....`.@.....
600708 05000000 00000000 c8024000 00000000 ..........@.....
600718 06000000 00000000 80024000 00000000 ..........@.....
600728 0a000000 00000000 38000000 00000000 ........8.......
600738 0b000000 00000000 18000000 00000000 ................
600748 15000000 00000000 00000000 00000000 ................
600758 03000000 00000000 60086000 00000000 ........`.`.....
600768 02000000 00000000 30000000 00000000 ........0.......
600778 14000000 00000000 07000000 00000000 ................
600788 17000000 00000000 40034000 00000000 ........@.@.....
600798 07000000 00000000 28034000 00000000 ........(.@.....
6007a8 08000000 00000000 18000000 00000000 ................
6007b8 09000000 00000000 18000000 00000000 ................
6007c8 feffff6f 00000000 08034000 00000000 ...o......@.....
6007d8 ffffff6f 00000000 01000000 00000000 ...o............
6007e8 f0ffff6f 00000000 00034000 00000000 ...o......@.....
6007f8 00000000 00000000 00000000 00000000 ................
600808 00000000 00000000 00000000 00000000 ................
600818 00000000 00000000 00000000 00000000 ................
600828 00000000 00000000 00000000 00000000 ................
600838 00000000 00000000 00000000 00000000 ................
600848 00000000 00000000 00000000 00000000 ................
Contents of section .got:
600858 00000000 00000000 ........
Contents of section .got.plt:
600860 88066000 00000000 00000000 00000000 ..`.............
600870 00000000 00000000 a6034000 00000000 ..........@.....
600880 b6034000 00000000 ..@.....
Contents of section .data:
600888 00000000 00000000 00000000 00000000 ................
Contents of section .comment:
0000 4743433a 2028474e 55292034 2e372e32 GCC: (GNU) 4.7.2
0010 00 .
Disassembly of section .init:
0000000000400370 <_init>:
400370: 48 83 ec 08 sub rsp,0x8
400374: 48 8b 05 dd 04 20 00 mov rax,QWORD PTR [rip+0x2004dd] # 600858 <_DYNAMIC+0x1d0>
40037b: 48 85 c0 test rax,rax
40037e: 74 05 je 400385 <_init+0x15>
400380: e8 2b 00 00 00 call 4003b0 <__gmon_start__@plt>
400385: 48 83 c4 08 add rsp,0x8
400389: c3 ret
Disassembly of section .plt:
0000000000400390 <__libc_start_main@plt-0x10>:
400390: ff 35 d2 04 20 00 push QWORD PTR [rip+0x2004d2] # 600868 <_GLOBAL_OFFSET_TABLE_+0x8>
400396: ff 25 d4 04 20 00 jmp QWORD PTR [rip+0x2004d4] # 600870 <_GLOBAL_OFFSET_TABLE_+0x10>
40039c: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
00000000004003a0 <__libc_start_main@plt>:
4003a0: ff 25 d2 04 20 00 jmp QWORD PTR [rip+0x2004d2] # 600878 <_GLOBAL_OFFSET_TABLE_+0x18>
4003a6: 68 00 00 00 00 push 0x0
4003ab: e9 e0 ff ff ff jmp 400390 <_init+0x20>
00000000004003b0 <__gmon_start__@plt>:
4003b0: ff 25 ca 04 20 00 jmp QWORD PTR [rip+0x2004ca] # 600880 <_GLOBAL_OFFSET_TABLE_+0x20>
4003b6: 68 01 00 00 00 push 0x1
4003bb: e9 d0 ff ff ff jmp 400390 <_init+0x20>
Disassembly of section .text:
00000000004003c0 <_start>:
4003c0: 31 ed xor ebp,ebp
4003c2: 49 89 d1 mov r9,rdx
4003c5: 5e pop rsi
4003c6: 48 89 e2 mov rdx,rsp
4003c9: 48 83 e4 f0 and rsp,0xfffffffffffffff0
4003cd: 50 push rax
4003ce: 54 push rsp
4003cf: 49 c7 c0 50 05 40 00 mov r8,0x400550
4003d6: 48 c7 c1 c0 04 40 00 mov rcx,0x4004c0
4003dd: 48 c7 c7 ac 04 40 00 mov rdi,0x4004ac
4003e4: e8 b7 ff ff ff call 4003a0 <__libc_start_main@plt>
4003e9: f4 hlt
4003ea: 66 90 xchg ax,ax
4003ec: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
00000000004003f0 <deregister_tm_clones>:
4003f0: b8 9f 08 60 00 mov eax,0x60089f
4003f5: 55 push rbp
4003f6: 48 2d 98 08 60 00 sub rax,0x600898
4003fc: 48 83 f8 0e cmp rax,0xe
400400: 48 89 e5 mov rbp,rsp
400403: 77 02 ja 400407 <deregister_tm_clones+0x17>
400405: 5d pop rbp
400406: c3 ret
400407: b8 00 00 00 00 mov eax,0x0
40040c: 48 85 c0 test rax,rax
40040f: 74 f4 je 400405 <deregister_tm_clones+0x15>
400411: 5d pop rbp
400412: bf 98 08 60 00 mov edi,0x600898
400417: ff e0 jmp rax
400419: 0f 1f 80 00 00 00 00 nop DWORD PTR [rax+0x0]
0000000000400420 <register_tm_clones>:
400420: b8 98 08 60 00 mov eax,0x600898
400425: 55 push rbp
400426: 48 2d 98 08 60 00 sub rax,0x600898
40042c: 48 c1 f8 03 sar rax,0x3
400430: 48 89 e5 mov rbp,rsp
400433: 48 89 c2 mov rdx,rax
400436: 48 c1 ea 3f shr rdx,0x3f
40043a: 48 01 d0 add rax,rdx
40043d: 48 89 c6 mov rsi,rax
400440: 48 d1 fe sar rsi,1
400443: 75 02 jne 400447 <register_tm_clones+0x27>
400445: 5d pop rbp
400446: c3 ret
400447: ba 00 00 00 00 mov edx,0x0
40044c: 48 85 d2 test rdx,rdx
40044f: 74 f4 je 400445 <register_tm_clones+0x25>
400451: 5d pop rbp
400452: bf 98 08 60 00 mov edi,0x600898
400457: ff e2 jmp rdx
400459: 0f 1f 80 00 00 00 00 nop DWORD PTR [rax+0x0]
0000000000400460 <__do_global_dtors_aux>:
400460: 80 3d 31 04 20 00 00 cmp BYTE PTR [rip+0x200431],0x0 # 600898 <__TMC_END__>
400467: 75 11 jne 40047a <__do_global_dtors_aux+0x1a>
400469: 55 push rbp
40046a: 48 89 e5 mov rbp,rsp
40046d: e8 7e ff ff ff call 4003f0 <deregister_tm_clones>
400472: 5d pop rbp
400473: c6 05 1e 04 20 00 01 mov BYTE PTR [rip+0x20041e],0x1 # 600898 <__TMC_END__>
40047a: f3 c3 repz ret
40047c: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
0000000000400480 <frame_dummy>:
400480: 48 83 3d f8 01 20 00 cmp QWORD PTR [rip+0x2001f8],0x0 # 600680 <__JCR_END__>
400487: 00
400488: 74 1b je 4004a5 <frame_dummy+0x25>
40048a: b8 00 00 00 00 mov eax,0x0
40048f: 48 85 c0 test rax,rax
400492: 74 11 je 4004a5 <frame_dummy+0x25>
400494: 55 push rbp
400495: bf 80 06 60 00 mov edi,0x600680
40049a: 48 89 e5 mov rbp,rsp
40049d: ff d0 call rax
40049f: 5d pop rbp
4004a0: e9 7b ff ff ff jmp 400420 <register_tm_clones>
4004a5: e9 76 ff ff ff jmp 400420 <register_tm_clones>
4004aa: 66 90 xchg ax,ax
00000000004004ac <main>:
4004ac: 55 push rbp
4004ad: 48 89 e5 mov rbp,rsp
4004b0: b8 00 00 00 00 mov eax,0x0
4004b5: 5d pop rbp
4004b6: c3 ret
4004b7: 66 0f 1f 84 00 00 00 nop WORD PTR [rax+rax*1+0x0]
4004be: 00 00
00000000004004c0 <__libc_csu_init>:
4004c0: 48 89 6c 24 d8 mov QWORD PTR [rsp-0x28],rbp
4004c5: 4c 89 64 24 e0 mov QWORD PTR [rsp-0x20],r12
4004ca: 48 8d 2d a7 01 20 00 lea rbp,[rip+0x2001a7] # 600678 <__init_array_end>
4004d1: 4c 8d 25 98 01 20 00 lea r12,[rip+0x200198] # 600670 <__frame_dummy_init_array_entry>
4004d8: 48 89 5c 24 d0 mov QWORD PTR [rsp-0x30],rbx
4004dd: 4c 89 6c 24 e8 mov QWORD PTR [rsp-0x18],r13
4004e2: 4c 89 74 24 f0 mov QWORD PTR [rsp-0x10],r14
4004e7: 4c 89 7c 24 f8 mov QWORD PTR [rsp-0x8],r15
4004ec: 48 83 ec 38 sub rsp,0x38
4004f0: 4c 29 e5 sub rbp,r12
4004f3: 41 89 ff mov r15d,edi
4004f6: 49 89 f6 mov r14,rsi
4004f9: 48 c1 fd 03 sar rbp,0x3
4004fd: 49 89 d5 mov r13,rdx
400500: 31 db xor ebx,ebx
400502: e8 69 fe ff ff call 400370 <_init>
400507: 48 85 ed test rbp,rbp
40050a: 74 1a je 400526 <__libc_csu_init+0x66>
40050c: 0f 1f 40 00 nop DWORD PTR [rax+0x0]
400510: 4c 89 ea mov rdx,r13
400513: 4c 89 f6 mov rsi,r14
400516: 44 89 ff mov edi,r15d
400519: 41 ff 14 dc call QWORD PTR [r12+rbx*8]
40051d: 48 83 c3 01 add rbx,0x1
400521: 48 39 eb cmp rbx,rbp
400524: 75 ea jne 400510 <__libc_csu_init+0x50>
400526: 48 8b 5c 24 08 mov rbx,QWORD PTR [rsp+0x8]
40052b: 48 8b 6c 24 10 mov rbp,QWORD PTR [rsp+0x10]
400530: 4c 8b 64 24 18 mov r12,QWORD PTR [rsp+0x18]
400535: 4c 8b 6c 24 20 mov r13,QWORD PTR [rsp+0x20]
40053a: 4c 8b 74 24 28 mov r14,QWORD PTR [rsp+0x28]
40053f: 4c 8b 7c 24 30 mov r15,QWORD PTR [rsp+0x30]
400544: 48 83 c4 38 add rsp,0x38
400548: c3 ret
400549: 0f 1f 80 00 00 00 00 nop DWORD PTR [rax+0x0]
0000000000400550 <__libc_csu_fini>:
400550: f3 c3 repz ret
400552: 66 90 xchg ax,ax
Disassembly of section .fini:
0000000000400554 <_fini>:
400554: 48 83 ec 08 sub rsp,0x8
400558: 48 83 c4 08 add rsp,0x8
40055c: c3 ret