Skip to content

Instantly share code, notes, and snippets.

@rmnk
Created July 15, 2012 15:38
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 rmnk/3117484 to your computer and use it in GitHub Desktop.
Save rmnk/3117484 to your computer and use it in GitHub Desktop.
a: file format elf64-x86-64
Disassembly of section .init:
0000000000400390 <_init>:
400390: 48 83 ec 08 sub $0x8,%rsp
400394: e8 63 00 00 00 callq 4003fc <call_gmon_start>
400399: 48 83 c4 08 add $0x8,%rsp
40039d: c3 retq
Disassembly of section .plt:
00000000004003a0 <printf@plt-0x10>:
4003a0: ff 35 e2 04 20 00 pushq 0x2004e2(%rip) # 600888 <_GLOBAL_OFFSET_TABLE_+0x8>
4003a6: ff 25 e4 04 20 00 jmpq *0x2004e4(%rip) # 600890 <_GLOBAL_OFFSET_TABLE_+0x10>
4003ac: 0f 1f 40 00 nopl 0x0(%rax)
00000000004003b0 <printf@plt>:
4003b0: ff 25 e2 04 20 00 jmpq *0x2004e2(%rip) # 600898 <_GLOBAL_OFFSET_TABLE_+0x18>
4003b6: 68 00 00 00 00 pushq $0x0
4003bb: e9 e0 ff ff ff jmpq 4003a0 <_init+0x10>
00000000004003c0 <__libc_start_main@plt>:
4003c0: ff 25 da 04 20 00 jmpq *0x2004da(%rip) # 6008a0 <_GLOBAL_OFFSET_TABLE_+0x20>
4003c6: 68 01 00 00 00 pushq $0x1
4003cb: e9 d0 ff ff ff jmpq 4003a0 <_init+0x10>
Disassembly of section .text:
00000000004003d0 <_start>:
4003d0: 31 ed xor %ebp,%ebp
4003d2: 49 89 d1 mov %rdx,%r9
4003d5: 5e pop %rsi
4003d6: 48 89 e2 mov %rsp,%rdx
4003d9: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
4003dd: 50 push %rax
4003de: 54 push %rsp
4003df: 49 c7 c0 a0 05 40 00 mov $0x4005a0,%r8
4003e6: 48 c7 c1 10 05 40 00 mov $0x400510,%rcx
4003ed: 48 c7 c7 dc 04 40 00 mov $0x4004dc,%rdi
4003f4: e8 c7 ff ff ff callq 4003c0 <__libc_start_main@plt>
4003f9: f4 hlt
4003fa: 90 nop
4003fb: 90 nop
00000000004003fc <call_gmon_start>:
4003fc: 48 83 ec 08 sub $0x8,%rsp
400400: 48 8b 05 71 04 20 00 mov 0x200471(%rip),%rax # 600878 <_DYNAMIC+0x1d0>
400407: 48 85 c0 test %rax,%rax
40040a: 74 02 je 40040e <call_gmon_start+0x12>
40040c: ff d0 callq *%rax
40040e: 48 83 c4 08 add $0x8,%rsp
400412: c3 retq
400413: 90 nop
400414: 90 nop
400415: 90 nop
400416: 90 nop
400417: 90 nop
400418: 90 nop
400419: 90 nop
40041a: 90 nop
40041b: 90 nop
40041c: 90 nop
40041d: 90 nop
40041e: 90 nop
40041f: 90 nop
0000000000400420 <deregister_tm_clones>:
400420: b8 bf 08 60 00 mov $0x6008bf,%eax
400425: 55 push %rbp
400426: 48 2d b8 08 60 00 sub $0x6008b8,%rax
40042c: 48 83 f8 0e cmp $0xe,%rax
400430: 48 89 e5 mov %rsp,%rbp
400433: 77 02 ja 400437 <deregister_tm_clones+0x17>
400435: 5d pop %rbp
400436: c3 retq
400437: b8 00 00 00 00 mov $0x0,%eax
40043c: 48 85 c0 test %rax,%rax
40043f: 74 f4 je 400435 <deregister_tm_clones+0x15>
400441: 5d pop %rbp
400442: bf b8 08 60 00 mov $0x6008b8,%edi
400447: ff e0 jmpq *%rax
400449: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
0000000000400450 <register_tm_clones>:
400450: b8 b8 08 60 00 mov $0x6008b8,%eax
400455: 55 push %rbp
400456: 48 2d b8 08 60 00 sub $0x6008b8,%rax
40045c: 48 c1 f8 03 sar $0x3,%rax
400460: 48 89 e5 mov %rsp,%rbp
400463: 48 89 c2 mov %rax,%rdx
400466: 48 c1 ea 3f shr $0x3f,%rdx
40046a: 48 01 d0 add %rdx,%rax
40046d: 48 89 c6 mov %rax,%rsi
400470: 48 d1 fe sar %rsi
400473: 75 02 jne 400477 <register_tm_clones+0x27>
400475: 5d pop %rbp
400476: c3 retq
400477: ba 00 00 00 00 mov $0x0,%edx
40047c: 48 85 d2 test %rdx,%rdx
40047f: 74 f4 je 400475 <register_tm_clones+0x25>
400481: 5d pop %rbp
400482: bf b8 08 60 00 mov $0x6008b8,%edi
400487: ff e2 jmpq *%rdx
400489: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
0000000000400490 <__do_global_dtors_aux>:
400490: 80 3d 21 04 20 00 00 cmpb $0x0,0x200421(%rip) # 6008b8 <__bss_start>
400497: 75 11 jne 4004aa <__do_global_dtors_aux+0x1a>
400499: 55 push %rbp
40049a: 48 89 e5 mov %rsp,%rbp
40049d: e8 7e ff ff ff callq 400420 <deregister_tm_clones>
4004a2: 5d pop %rbp
4004a3: c6 05 0e 04 20 00 01 movb $0x1,0x20040e(%rip) # 6008b8 <__bss_start>
4004aa: f3 c3 repz retq
4004ac: 0f 1f 40 00 nopl 0x0(%rax)
00000000004004b0 <frame_dummy>:
4004b0: 48 83 3d e8 01 20 00 cmpq $0x0,0x2001e8(%rip) # 6006a0 <__JCR_END__>
4004b7: 00
4004b8: 74 1b je 4004d5 <frame_dummy+0x25>
4004ba: b8 00 00 00 00 mov $0x0,%eax
4004bf: 48 85 c0 test %rax,%rax
4004c2: 74 11 je 4004d5 <frame_dummy+0x25>
4004c4: 55 push %rbp
4004c5: bf a0 06 60 00 mov $0x6006a0,%edi
4004ca: 48 89 e5 mov %rsp,%rbp
4004cd: ff d0 callq *%rax
4004cf: 5d pop %rbp
4004d0: e9 7b ff ff ff jmpq 400450 <register_tm_clones>
4004d5: e9 76 ff ff ff jmpq 400450 <register_tm_clones>
4004da: 90 nop
4004db: 90 nop
00000000004004dc <main>:
4004dc: 55 push %rbp
4004dd: 48 89 e5 mov %rsp,%rbp
4004e0: 48 83 ec 10 sub $0x10,%rsp
4004e4: c7 45 fc 0a 00 00 00 movl $0xa,-0x4(%rbp)
4004eb: 8b 45 fc mov -0x4(%rbp),%eax
4004ee: 89 c6 mov %eax,%esi
4004f0: bf b4 05 40 00 mov $0x4005b4,%edi
4004f5: b8 00 00 00 00 mov $0x0,%eax
4004fa: e8 b1 fe ff ff callq 4003b0 <printf@plt>
4004ff: b8 00 00 00 00 mov $0x0,%eax
400504: c9 leaveq
400505: c3 retq
400506: 90 nop
400507: 90 nop
400508: 90 nop
400509: 90 nop
40050a: 90 nop
40050b: 90 nop
40050c: 90 nop
40050d: 90 nop
40050e: 90 nop
40050f: 90 nop
0000000000400510 <__libc_csu_init>:
400510: 48 89 6c 24 d8 mov %rbp,-0x28(%rsp)
400515: 4c 89 64 24 e0 mov %r12,-0x20(%rsp)
40051a: 48 8d 2d 77 01 20 00 lea 0x200177(%rip),%rbp # 600698 <__init_array_end>
400521: 4c 8d 25 68 01 20 00 lea 0x200168(%rip),%r12 # 600690 <__frame_dummy_init_array_entry>
400528: 48 89 5c 24 d0 mov %rbx,-0x30(%rsp)
40052d: 4c 89 6c 24 e8 mov %r13,-0x18(%rsp)
400532: 4c 89 74 24 f0 mov %r14,-0x10(%rsp)
400537: 4c 89 7c 24 f8 mov %r15,-0x8(%rsp)
40053c: 48 83 ec 38 sub $0x38,%rsp
400540: 4c 29 e5 sub %r12,%rbp
400543: 41 89 ff mov %edi,%r15d
400546: 49 89 f6 mov %rsi,%r14
400549: 48 c1 fd 03 sar $0x3,%rbp
40054d: 49 89 d5 mov %rdx,%r13
400550: 31 db xor %ebx,%ebx
400552: e8 39 fe ff ff callq 400390 <_init>
400557: 48 85 ed test %rbp,%rbp
40055a: 74 1a je 400576 <__libc_csu_init+0x66>
40055c: 0f 1f 40 00 nopl 0x0(%rax)
400560: 4c 89 ea mov %r13,%rdx
400563: 4c 89 f6 mov %r14,%rsi
400566: 44 89 ff mov %r15d,%edi
400569: 41 ff 14 dc callq *(%r12,%rbx,8)
40056d: 48 83 c3 01 add $0x1,%rbx
400571: 48 39 eb cmp %rbp,%rbx
400574: 75 ea jne 400560 <__libc_csu_init+0x50>
400576: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx
40057b: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp
400580: 4c 8b 64 24 18 mov 0x18(%rsp),%r12
400585: 4c 8b 6c 24 20 mov 0x20(%rsp),%r13
40058a: 4c 8b 74 24 28 mov 0x28(%rsp),%r14
40058f: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15
400594: 48 83 c4 38 add $0x38,%rsp
400598: c3 retq
400599: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
00000000004005a0 <__libc_csu_fini>:
4005a0: f3 c3 repz retq
4005a2: 90 nop
4005a3: 90 nop
Disassembly of section .fini:
00000000004005a4 <_fini>:
4005a4: 48 83 ec 08 sub $0x8,%rsp
4005a8: 48 83 c4 08 add $0x8,%rsp
4005ac: c3 retq
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment