Skip to content

Instantly share code, notes, and snippets.

@5kg
Created August 1, 2013 05:16
Show Gist options
  • Select an option

  • Save 5kg/6128576 to your computer and use it in GitHub Desktop.

Select an option

Save 5kg/6128576 to your computer and use it in GitHub Desktop.
a.out: file format elf64-x86-64
Disassembly of section .init:
00000000004003e0 <_init>:
4003e0: 48 83 ec 08 sub $0x8,%rsp
4003e4: 48 8b 05 75 06 20 00 mov 0x200675(%rip),%rax # 600a60 <_DYNAMIC+0x1d0>
4003eb: 48 85 c0 test %rax,%rax
4003ee: 74 05 je 4003f5 <_init+0x15>
4003f0: e8 3b 00 00 00 callq 400430 <__gmon_start__@plt>
4003f5: 48 83 c4 08 add $0x8,%rsp
4003f9: c3 retq
Disassembly of section .plt:
0000000000400400 <printf@plt-0x10>:
400400: ff 35 6a 06 20 00 pushq 0x20066a(%rip) # 600a70 <_GLOBAL_OFFSET_TABLE_+0x8>
400406: ff 25 6c 06 20 00 jmpq *0x20066c(%rip) # 600a78 <_GLOBAL_OFFSET_TABLE_+0x10>
40040c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000400410 <printf@plt>:
400410: ff 25 6a 06 20 00 jmpq *0x20066a(%rip) # 600a80 <_GLOBAL_OFFSET_TABLE_+0x18>
400416: 68 00 00 00 00 pushq $0x0
40041b: e9 e0 ff ff ff jmpq 400400 <_init+0x20>
0000000000400420 <__libc_start_main@plt>:
400420: ff 25 62 06 20 00 jmpq *0x200662(%rip) # 600a88 <_GLOBAL_OFFSET_TABLE_+0x20>
400426: 68 01 00 00 00 pushq $0x1
40042b: e9 d0 ff ff ff jmpq 400400 <_init+0x20>
0000000000400430 <__gmon_start__@plt>:
400430: ff 25 5a 06 20 00 jmpq *0x20065a(%rip) # 600a90 <_GLOBAL_OFFSET_TABLE_+0x28>
400436: 68 02 00 00 00 pushq $0x2
40043b: e9 c0 ff ff ff jmpq 400400 <_init+0x20>
0000000000400440 <atoi@plt>:
400440: ff 25 52 06 20 00 jmpq *0x200652(%rip) # 600a98 <_GLOBAL_OFFSET_TABLE_+0x30>
400446: 68 03 00 00 00 pushq $0x3
40044b: e9 b0 ff ff ff jmpq 400400 <_init+0x20>
Disassembly of section .text:
0000000000400450 <_start>:
400450: 31 ed xor %ebp,%ebp
400452: 49 89 d1 mov %rdx,%r9
400455: 5e pop %rsi
400456: 48 89 e2 mov %rsp,%rdx
400459: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
40045d: 50 push %rax
40045e: 54 push %rsp
40045f: 49 c7 c0 a0 06 40 00 mov $0x4006a0,%r8
400466: 48 c7 c1 30 06 40 00 mov $0x400630,%rcx
40046d: 48 c7 c7 e3 05 40 00 mov $0x4005e3,%rdi
400474: e8 a7 ff ff ff callq 400420 <__libc_start_main@plt>
400479: f4 hlt
40047a: 66 90 xchg %ax,%ax
40047c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000400480 <deregister_tm_clones>:
400480: b8 b7 0a 60 00 mov $0x600ab7,%eax
400485: 55 push %rbp
400486: 48 2d b0 0a 60 00 sub $0x600ab0,%rax
40048c: 48 83 f8 0e cmp $0xe,%rax
400490: 48 89 e5 mov %rsp,%rbp
400493: 77 02 ja 400497 <deregister_tm_clones+0x17>
400495: 5d pop %rbp
400496: c3 retq
400497: b8 00 00 00 00 mov $0x0,%eax
40049c: 48 85 c0 test %rax,%rax
40049f: 74 f4 je 400495 <deregister_tm_clones+0x15>
4004a1: 5d pop %rbp
4004a2: bf b0 0a 60 00 mov $0x600ab0,%edi
4004a7: ff e0 jmpq *%rax
4004a9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
00000000004004b0 <register_tm_clones>:
4004b0: b8 b0 0a 60 00 mov $0x600ab0,%eax
4004b5: 55 push %rbp
4004b6: 48 2d b0 0a 60 00 sub $0x600ab0,%rax
4004bc: 48 c1 f8 03 sar $0x3,%rax
4004c0: 48 89 e5 mov %rsp,%rbp
4004c3: 48 89 c2 mov %rax,%rdx
4004c6: 48 c1 ea 3f shr $0x3f,%rdx
4004ca: 48 01 d0 add %rdx,%rax
4004cd: 48 d1 f8 sar %rax
4004d0: 75 02 jne 4004d4 <register_tm_clones+0x24>
4004d2: 5d pop %rbp
4004d3: c3 retq
4004d4: ba 00 00 00 00 mov $0x0,%edx
4004d9: 48 85 d2 test %rdx,%rdx
4004dc: 74 f4 je 4004d2 <register_tm_clones+0x22>
4004de: 5d pop %rbp
4004df: 48 89 c6 mov %rax,%rsi
4004e2: bf b0 0a 60 00 mov $0x600ab0,%edi
4004e7: ff e2 jmpq *%rdx
4004e9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
00000000004004f0 <__do_global_dtors_aux>:
4004f0: 80 3d b9 05 20 00 00 cmpb $0x0,0x2005b9(%rip) # 600ab0 <__TMC_END__>
4004f7: 75 11 jne 40050a <__do_global_dtors_aux+0x1a>
4004f9: 55 push %rbp
4004fa: 48 89 e5 mov %rsp,%rbp
4004fd: e8 7e ff ff ff callq 400480 <deregister_tm_clones>
400502: 5d pop %rbp
400503: c6 05 a6 05 20 00 01 movb $0x1,0x2005a6(%rip) # 600ab0 <__TMC_END__>
40050a: f3 c3 repz retq
40050c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000400510 <frame_dummy>:
400510: 48 83 3d 70 03 20 00 cmpq $0x0,0x200370(%rip) # 600888 <__JCR_END__>
400517: 00
400518: 74 1e je 400538 <frame_dummy+0x28>
40051a: b8 00 00 00 00 mov $0x0,%eax
40051f: 48 85 c0 test %rax,%rax
400522: 74 14 je 400538 <frame_dummy+0x28>
400524: 55 push %rbp
400525: bf 88 08 60 00 mov $0x600888,%edi
40052a: 48 89 e5 mov %rsp,%rbp
40052d: ff d0 callq *%rax
40052f: 5d pop %rbp
400530: e9 7b ff ff ff jmpq 4004b0 <register_tm_clones>
400535: 0f 1f 00 nopl (%rax)
400538: e9 73 ff ff ff jmpq 4004b0 <register_tm_clones>
40053d: 0f 1f 00 nopl (%rax)
0000000000400540 <print_call_stack>:
400540: 55 push %rbp
400541: 48 89 e5 mov %rsp,%rbp
400544: 48 83 ec 10 sub $0x10,%rsp
400548: 48 89 6d f8 mov %rbp,-0x8(%rbp)
40054c: 48 89 6d f0 mov %rbp,-0x10(%rbp)
400550: b9 b4 06 40 00 mov $0x4006b4,%ecx
400555: ba b9 06 40 00 mov $0x4006b9,%edx
40055a: be bd 06 40 00 mov $0x4006bd,%esi
40055f: bf c3 06 40 00 mov $0x4006c3,%edi
400564: b8 00 00 00 00 mov $0x0,%eax
400569: e8 a2 fe ff ff callq 400410 <printf@plt>
40056e: eb 3f jmp 4005af <print_call_stack+0x6f>
400570: 48 8b 55 f8 mov -0x8(%rbp),%rdx
400574: 48 8b 45 f0 mov -0x10(%rbp),%rax
400578: 48 89 d1 mov %rdx,%rcx
40057b: 48 29 c1 sub %rax,%rcx
40057e: 48 8b 45 f8 mov -0x8(%rbp),%rax
400582: 48 8b 50 08 mov 0x8(%rax),%rdx
400586: 48 8b 45 f8 mov -0x8(%rbp),%rax
40058a: 48 89 c6 mov %rax,%rsi
40058d: bf d6 06 40 00 mov $0x4006d6,%edi
400592: b8 00 00 00 00 mov $0x0,%eax
400597: e8 74 fe ff ff callq 400410 <printf@plt>
40059c: 48 8b 45 f8 mov -0x8(%rbp),%rax
4005a0: 48 89 45 f0 mov %rax,-0x10(%rbp)
4005a4: 48 8b 45 f8 mov -0x8(%rbp),%rax
4005a8: 48 8b 00 mov (%rax),%rax
4005ab: 48 89 45 f8 mov %rax,-0x8(%rbp)
4005af: 48 83 7d f8 00 cmpq $0x0,-0x8(%rbp)
4005b4: 75 ba jne 400570 <print_call_stack+0x30>
4005b6: c9 leaveq
4005b7: c3 retq
00000000004005b8 <a>:
4005b8: 55 push %rbp
4005b9: 48 89 e5 mov %rsp,%rbp
4005bc: 48 83 ec 10 sub $0x10,%rsp
4005c0: 89 7d fc mov %edi,-0x4(%rbp)
4005c3: 83 7d fc 00 cmpl $0x0,-0x4(%rbp)
4005c7: 7f 0a jg 4005d3 <a+0x1b>
4005c9: e8 72 ff ff ff callq 400540 <print_call_stack>
4005ce: 8b 45 fc mov -0x4(%rbp),%eax
4005d1: eb 0e jmp 4005e1 <a+0x29>
4005d3: 83 6d fc 01 subl $0x1,-0x4(%rbp)
4005d7: 8b 45 fc mov -0x4(%rbp),%eax
4005da: 89 c7 mov %eax,%edi
4005dc: e8 d7 ff ff ff callq 4005b8 <a>
4005e1: c9 leaveq
4005e2: c3 retq
00000000004005e3 <main>:
4005e3: 55 push %rbp
4005e4: 48 89 e5 mov %rsp,%rbp
4005e7: 48 83 ec 20 sub $0x20,%rsp
4005eb: 89 7d ec mov %edi,-0x14(%rbp)
4005ee: 48 89 75 e0 mov %rsi,-0x20(%rbp)
4005f2: 48 8b 45 e0 mov -0x20(%rbp),%rax
4005f6: 48 83 c0 08 add $0x8,%rax
4005fa: 48 8b 00 mov (%rax),%rax
4005fd: 48 89 c7 mov %rax,%rdi
400600: e8 3b fe ff ff callq 400440 <atoi@plt>
400605: 89 45 fc mov %eax,-0x4(%rbp)
400608: 8b 45 fc mov -0x4(%rbp),%eax
40060b: 89 c7 mov %eax,%edi
40060d: e8 a6 ff ff ff callq 4005b8 <a>
400612: 89 c2 mov %eax,%edx
400614: 8b 45 fc mov -0x4(%rbp),%eax
400617: 89 c6 mov %eax,%esi
400619: bf ea 06 40 00 mov $0x4006ea,%edi
40061e: b8 00 00 00 00 mov $0x0,%eax
400623: e8 e8 fd ff ff callq 400410 <printf@plt>
400628: b8 00 00 00 00 mov $0x0,%eax
40062d: c9 leaveq
40062e: c3 retq
40062f: 90 nop
0000000000400630 <__libc_csu_init>:
400630: 41 57 push %r15
400632: 41 89 ff mov %edi,%r15d
400635: 41 56 push %r14
400637: 49 89 f6 mov %rsi,%r14
40063a: 41 55 push %r13
40063c: 49 89 d5 mov %rdx,%r13
40063f: 41 54 push %r12
400641: 4c 8d 25 30 02 20 00 lea 0x200230(%rip),%r12 # 600878 <__frame_dummy_init_array_entry>
400648: 55 push %rbp
400649: 48 8d 2d 30 02 20 00 lea 0x200230(%rip),%rbp # 600880 <__init_array_end>
400650: 53 push %rbx
400651: 4c 29 e5 sub %r12,%rbp
400654: 31 db xor %ebx,%ebx
400656: 48 c1 fd 03 sar $0x3,%rbp
40065a: 48 83 ec 08 sub $0x8,%rsp
40065e: e8 7d fd ff ff callq 4003e0 <_init>
400663: 48 85 ed test %rbp,%rbp
400666: 74 1e je 400686 <__libc_csu_init+0x56>
400668: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
40066f: 00
400670: 4c 89 ea mov %r13,%rdx
400673: 4c 89 f6 mov %r14,%rsi
400676: 44 89 ff mov %r15d,%edi
400679: 41 ff 14 dc callq *(%r12,%rbx,8)
40067d: 48 83 c3 01 add $0x1,%rbx
400681: 48 39 eb cmp %rbp,%rbx
400684: 75 ea jne 400670 <__libc_csu_init+0x40>
400686: 48 83 c4 08 add $0x8,%rsp
40068a: 5b pop %rbx
40068b: 5d pop %rbp
40068c: 41 5c pop %r12
40068e: 41 5d pop %r13
400690: 41 5e pop %r14
400692: 41 5f pop %r15
400694: c3 retq
400695: 66 66 2e 0f 1f 84 00 data32 nopw %cs:0x0(%rax,%rax,1)
40069c: 00 00 00 00
00000000004006a0 <__libc_csu_fini>:
4006a0: f3 c3 repz retq
4006a2: 66 90 xchg %ax,%ax
Disassembly of section .fini:
00000000004006a4 <_fini>:
4006a4: 48 83 ec 08 sub $0x8,%rsp
4006a8: 48 83 c4 08 add $0x8,%rsp
4006ac: c3 retq
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment