Created
September 29, 2012 07:33
-
-
Save aharisu/3803433 to your computer and use it in GitHub Desktop.
objdump -d csaw2012reversing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| csaw2012reversing: file format elf64-x86-64 | |
| Disassembly of section .init: | |
| 0000000000400460 <_init>: | |
| 400460: 48 83 ec 08 sub $0x8,%rsp | |
| 400464: e8 93 00 00 00 callq 4004fc <call_gmon_start> | |
| 400469: e8 22 01 00 00 callq 400590 <frame_dummy> | |
| 40046e: e8 3d 03 00 00 callq 4007b0 <__do_global_ctors_aux> | |
| 400473: 48 83 c4 08 add $0x8,%rsp | |
| 400477: c3 retq | |
| Disassembly of section .plt: | |
| 0000000000400480 <__stack_chk_fail@plt-0x10>: | |
| 400480: ff 35 6a 0b 20 00 pushq 0x200b6a(%rip) # 600ff0 <_GLOBAL_OFFSET_TABLE_+0x8> | |
| 400486: ff 25 6c 0b 20 00 jmpq *0x200b6c(%rip) # 600ff8 <_GLOBAL_OFFSET_TABLE_+0x10> | |
| 40048c: 0f 1f 40 00 nopl 0x0(%rax) | |
| 0000000000400490 <__stack_chk_fail@plt>: | |
| 400490: ff 25 6a 0b 20 00 jmpq *0x200b6a(%rip) # 601000 <_GLOBAL_OFFSET_TABLE_+0x18> | |
| 400496: 68 00 00 00 00 pushq $0x0 | |
| 40049b: e9 e0 ff ff ff jmpq 400480 <_init+0x20> | |
| 00000000004004a0 <printf@plt>: | |
| 4004a0: ff 25 62 0b 20 00 jmpq *0x200b62(%rip) # 601008 <_GLOBAL_OFFSET_TABLE_+0x20> | |
| 4004a6: 68 01 00 00 00 pushq $0x1 | |
| 4004ab: e9 d0 ff ff ff jmpq 400480 <_init+0x20> | |
| 00000000004004b0 <__libc_start_main@plt>: | |
| 4004b0: ff 25 5a 0b 20 00 jmpq *0x200b5a(%rip) # 601010 <_GLOBAL_OFFSET_TABLE_+0x28> | |
| 4004b6: 68 02 00 00 00 pushq $0x2 | |
| 4004bb: e9 c0 ff ff ff jmpq 400480 <_init+0x20> | |
| 00000000004004c0 <exit@plt>: | |
| 4004c0: ff 25 52 0b 20 00 jmpq *0x200b52(%rip) # 601018 <_GLOBAL_OFFSET_TABLE_+0x30> | |
| 4004c6: 68 03 00 00 00 pushq $0x3 | |
| 4004cb: e9 b0 ff ff ff jmpq 400480 <_init+0x20> | |
| Disassembly of section .text: | |
| 00000000004004d0 <_start>: | |
| 4004d0: 31 ed xor %ebp,%ebp | |
| 4004d2: 49 89 d1 mov %rdx,%r9 | |
| 4004d5: 5e pop %rsi | |
| 4004d6: 48 89 e2 mov %rsp,%rdx | |
| 4004d9: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp | |
| 4004dd: 50 push %rax | |
| 4004de: 54 push %rsp | |
| 4004df: 49 c7 c0 a0 07 40 00 mov $0x4007a0,%r8 | |
| 4004e6: 48 c7 c1 10 07 40 00 mov $0x400710,%rcx | |
| 4004ed: 48 c7 c7 2e 06 40 00 mov $0x40062e,%rdi | |
| 4004f4: e8 b7 ff ff ff callq 4004b0 <__libc_start_main@plt> | |
| 4004f9: f4 hlt | |
| 4004fa: 90 nop | |
| 4004fb: 90 nop | |
| 00000000004004fc <call_gmon_start>: | |
| 4004fc: 48 83 ec 08 sub $0x8,%rsp | |
| 400500: 48 8b 05 d9 0a 20 00 mov 0x200ad9(%rip),%rax # 600fe0 <_DYNAMIC+0x190> | |
| 400507: 48 85 c0 test %rax,%rax | |
| 40050a: 74 02 je 40050e <call_gmon_start+0x12> | |
| 40050c: ff d0 callq *%rax | |
| 40050e: 48 83 c4 08 add $0x8,%rsp | |
| 400512: c3 retq | |
| 400513: 90 nop | |
| 400514: 90 nop | |
| 400515: 90 nop | |
| 400516: 90 nop | |
| 400517: 90 nop | |
| 400518: 90 nop | |
| 400519: 90 nop | |
| 40051a: 90 nop | |
| 40051b: 90 nop | |
| 40051c: 90 nop | |
| 40051d: 90 nop | |
| 40051e: 90 nop | |
| 40051f: 90 nop | |
| 0000000000400520 <__do_global_dtors_aux>: | |
| 400520: 55 push %rbp | |
| 400521: 48 89 e5 mov %rsp,%rbp | |
| 400524: 53 push %rbx | |
| 400525: 48 83 ec 08 sub $0x8,%rsp | |
| 400529: 80 3d 00 0b 20 00 00 cmpb $0x0,0x200b00(%rip) # 601030 <__bss_start> | |
| 400530: 75 4b jne 40057d <__do_global_dtors_aux+0x5d> | |
| 400532: bb 40 0e 60 00 mov $0x600e40,%ebx | |
| 400537: 48 8b 05 fa 0a 20 00 mov 0x200afa(%rip),%rax # 601038 <dtor_idx.6533> | |
| 40053e: 48 81 eb 38 0e 60 00 sub $0x600e38,%rbx | |
| 400545: 48 c1 fb 03 sar $0x3,%rbx | |
| 400549: 48 83 eb 01 sub $0x1,%rbx | |
| 40054d: 48 39 d8 cmp %rbx,%rax | |
| 400550: 73 24 jae 400576 <__do_global_dtors_aux+0x56> | |
| 400552: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) | |
| 400558: 48 83 c0 01 add $0x1,%rax | |
| 40055c: 48 89 05 d5 0a 20 00 mov %rax,0x200ad5(%rip) # 601038 <dtor_idx.6533> | |
| 400563: ff 14 c5 38 0e 60 00 callq *0x600e38(,%rax,8) | |
| 40056a: 48 8b 05 c7 0a 20 00 mov 0x200ac7(%rip),%rax # 601038 <dtor_idx.6533> | |
| 400571: 48 39 d8 cmp %rbx,%rax | |
| 400574: 72 e2 jb 400558 <__do_global_dtors_aux+0x38> | |
| 400576: c6 05 b3 0a 20 00 01 movb $0x1,0x200ab3(%rip) # 601030 <__bss_start> | |
| 40057d: 48 83 c4 08 add $0x8,%rsp | |
| 400581: 5b pop %rbx | |
| 400582: 5d pop %rbp | |
| 400583: c3 retq | |
| 400584: 66 66 66 2e 0f 1f 84 nopw %cs:0x0(%rax,%rax,1) | |
| 40058b: 00 00 00 00 00 | |
| 0000000000400590 <frame_dummy>: | |
| 400590: 48 83 3d b0 08 20 00 cmpq $0x0,0x2008b0(%rip) # 600e48 <__JCR_END__> | |
| 400597: 00 | |
| 400598: 55 push %rbp | |
| 400599: 48 89 e5 mov %rsp,%rbp | |
| 40059c: 74 12 je 4005b0 <frame_dummy+0x20> | |
| 40059e: b8 00 00 00 00 mov $0x0,%eax | |
| 4005a3: 48 85 c0 test %rax,%rax | |
| 4005a6: 74 08 je 4005b0 <frame_dummy+0x20> | |
| 4005a8: 5d pop %rbp | |
| 4005a9: bf 48 0e 60 00 mov $0x600e48,%edi | |
| 4005ae: ff e0 jmpq *%rax | |
| 4005b0: 5d pop %rbp | |
| 4005b1: c3 retq | |
| 4005b2: 90 nop | |
| 4005b3: 90 nop | |
| 00000000004005b4 <done>: | |
| 4005b4: 55 push %rbp | |
| 4005b5: 48 89 e5 mov %rsp,%rbp | |
| 4005b8: 48 83 ec 10 sub $0x10,%rsp | |
| 4005bc: 89 7d fc mov %edi,-0x4(%rbp) | |
| 4005bf: 8b 45 fc mov -0x4(%rbp),%eax | |
| 4005c2: 89 c7 mov %eax,%edi | |
| 4005c4: e8 f7 fe ff ff callq 4004c0 <exit@plt> | |
| 00000000004005c9 <encrypt>: | |
| 4005c9: 55 push %rbp | |
| 4005ca: 48 89 e5 mov %rsp,%rbp | |
| 4005cd: 48 89 7d e8 mov %rdi,-0x18(%rbp) | |
| 4005d1: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp) | |
| 4005d8: eb 09 jmp 4005e3 <encrypt+0x1a> | |
| 4005da: 48 83 45 e8 01 addq $0x1,-0x18(%rbp) | |
| 4005df: 83 45 fc 01 addl $0x1,-0x4(%rbp) | |
| 4005e3: 48 8b 45 e8 mov -0x18(%rbp),%rax | |
| 4005e7: 0f b6 00 movzbl (%rax),%eax | |
| 4005ea: 84 c0 test %al,%al | |
| 4005ec: 75 ec jne 4005da <encrypt+0x11> | |
| 4005ee: 8b 45 fc mov -0x4(%rbp),%eax | |
| 4005f1: 5d pop %rbp | |
| 4005f2: c3 retq | |
| 00000000004005f3 <decrypt>: | |
| 4005f3: 55 push %rbp | |
| 4005f4: 48 89 e5 mov %rsp,%rbp | |
| 4005f7: 48 89 7d e8 mov %rdi,-0x18(%rbp) | |
| 4005fb: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp) | |
| 400602: eb 1a jmp 40061e <decrypt+0x2b> | |
| 400604: 48 8b 45 e8 mov -0x18(%rbp),%rax | |
| 400608: 0f b6 00 movzbl (%rax),%eax | |
| 40060b: 89 c2 mov %eax,%edx | |
| 40060d: f7 d2 not %edx | |
| 40060f: 48 8b 45 e8 mov -0x18(%rbp),%rax | |
| 400613: 88 10 mov %dl,(%rax) | |
| 400615: 48 83 45 e8 01 addq $0x1,-0x18(%rbp) | |
| 40061a: 83 45 fc 01 addl $0x1,-0x4(%rbp) | |
| 40061e: 48 8b 45 e8 mov -0x18(%rbp),%rax | |
| 400622: 0f b6 00 movzbl (%rax),%eax | |
| 400625: 84 c0 test %al,%al | |
| 400627: 75 db jne 400604 <decrypt+0x11> | |
| 400629: 8b 45 fc mov -0x4(%rbp),%eax | |
| 40062c: 5d pop %rbp | |
| 40062d: c3 retq | |
| 000000000040062e <main>: | |
| 40062e: 55 push %rbp | |
| 40062f: 48 89 e5 mov %rsp,%rbp | |
| 400632: 48 83 ec 40 sub $0x40,%rsp | |
| 400636: 89 7d dc mov %edi,-0x24(%rbp) | |
| 400639: 48 89 75 d0 mov %rsi,-0x30(%rbp) | |
| 40063d: 48 89 55 c8 mov %rdx,-0x38(%rbp) | |
| 400641: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax | |
| 400648: 00 00 | |
| 40064a: 48 89 45 f8 mov %rax,-0x8(%rbp) | |
| 40064e: 31 c0 xor %eax,%eax | |
| 400650: c6 45 e0 9c movb $0x9c,-0x20(%rbp) | |
| 400654: c6 45 e1 8c movb $0x8c,-0x1f(%rbp) | |
| 400658: c6 45 e2 9e movb $0x9e,-0x1e(%rbp) | |
| 40065c: c6 45 e3 88 movb $0x88,-0x1d(%rbp) | |
| 400660: c6 45 e4 96 movb $0x96,-0x1c(%rbp) | |
| 400664: c6 45 e5 8c movb $0x8c,-0x1b(%rbp) | |
| 400668: c6 45 e6 8c movb $0x8c,-0x1a(%rbp) | |
| 40066c: c6 45 e7 90 movb $0x90,-0x19(%rbp) | |
| 400670: c6 45 e8 97 movb $0x97,-0x18(%rbp) | |
| 400674: c6 45 e9 9e movb $0x9e,-0x17(%rbp) | |
| 400678: c6 45 ea 8d movb $0x8d,-0x16(%rbp) | |
| 40067c: c6 45 eb 9b movb $0x9b,-0x15(%rbp) | |
| 400680: c6 45 ec a0 movb $0xa0,-0x14(%rbp) | |
| 400684: c6 45 ed a0 movb $0xa0,-0x13(%rbp) | |
| 400688: c6 45 ee c5 movb $0xc5,-0x12(%rbp) | |
| 40068c: c6 45 ef d7 movb $0xd7,-0x11(%rbp) | |
| 400690: c6 45 f0 00 movb $0x0,-0x10(%rbp) | |
| 400694: 48 8d 45 e0 lea -0x20(%rbp),%rax | |
| 400698: 48 89 c7 mov %rax,%rdi | |
| 40069b: e8 29 ff ff ff callq 4005c9 <encrypt> | |
| 4006a0: b8 fc 07 40 00 mov $0x4007fc,%eax | |
| 4006a5: 48 8d 55 e0 lea -0x20(%rbp),%rdx | |
| 4006a9: 48 89 d6 mov %rdx,%rsi | |
| 4006ac: 48 89 c7 mov %rax,%rdi | |
| 4006af: b8 00 00 00 00 mov $0x0,%eax | |
| 4006b4: e8 e7 fd ff ff callq 4004a0 <printf@plt> | |
| 4006b9: bf ff ff ff ff mov $0xffffffff,%edi | |
| 4006be: e8 f1 fe ff ff callq 4005b4 <done> | |
| 4006c3: 48 8d 45 e0 lea -0x20(%rbp),%rax | |
| 4006c7: 48 89 c7 mov %rax,%rdi | |
| 4006ca: e8 24 ff ff ff callq 4005f3 <decrypt> | |
| 4006cf: b8 10 08 40 00 mov $0x400810,%eax | |
| 4006d4: 48 8d 55 e0 lea -0x20(%rbp),%rdx | |
| 4006d8: 48 89 d6 mov %rdx,%rsi | |
| 4006db: 48 89 c7 mov %rax,%rdi | |
| 4006de: b8 00 00 00 00 mov $0x0,%eax | |
| 4006e3: e8 b8 fd ff ff callq 4004a0 <printf@plt> | |
| 4006e8: bf 00 00 00 00 mov $0x0,%edi | |
| 4006ed: e8 c2 fe ff ff callq 4005b4 <done> | |
| 4006f2: 48 8b 55 f8 mov -0x8(%rbp),%rdx | |
| 4006f6: 64 48 33 14 25 28 00 xor %fs:0x28,%rdx | |
| 4006fd: 00 00 | |
| 4006ff: 74 05 je 400706 <main+0xd8> | |
| 400701: e8 8a fd ff ff callq 400490 <__stack_chk_fail@plt> | |
| 400706: c9 leaveq | |
| 400707: c3 retq | |
| 400708: 90 nop | |
| 400709: 90 nop | |
| 40070a: 90 nop | |
| 40070b: 90 nop | |
| 40070c: 90 nop | |
| 40070d: 90 nop | |
| 40070e: 90 nop | |
| 40070f: 90 nop | |
| 0000000000400710 <__libc_csu_init>: | |
| 400710: 48 89 6c 24 d8 mov %rbp,-0x28(%rsp) | |
| 400715: 4c 89 64 24 e0 mov %r12,-0x20(%rsp) | |
| 40071a: 48 8d 2d 03 07 20 00 lea 0x200703(%rip),%rbp # 600e24 <__init_array_end> | |
| 400721: 4c 8d 25 fc 06 20 00 lea 0x2006fc(%rip),%r12 # 600e24 <__init_array_end> | |
| 400728: 4c 89 6c 24 e8 mov %r13,-0x18(%rsp) | |
| 40072d: 4c 89 74 24 f0 mov %r14,-0x10(%rsp) | |
| 400732: 4c 89 7c 24 f8 mov %r15,-0x8(%rsp) | |
| 400737: 48 89 5c 24 d0 mov %rbx,-0x30(%rsp) | |
| 40073c: 48 83 ec 38 sub $0x38,%rsp | |
| 400740: 4c 29 e5 sub %r12,%rbp | |
| 400743: 41 89 fd mov %edi,%r13d | |
| 400746: 49 89 f6 mov %rsi,%r14 | |
| 400749: 48 c1 fd 03 sar $0x3,%rbp | |
| 40074d: 49 89 d7 mov %rdx,%r15 | |
| 400750: e8 0b fd ff ff callq 400460 <_init> | |
| 400755: 48 85 ed test %rbp,%rbp | |
| 400758: 74 1c je 400776 <__libc_csu_init+0x66> | |
| 40075a: 31 db xor %ebx,%ebx | |
| 40075c: 0f 1f 40 00 nopl 0x0(%rax) | |
| 400760: 4c 89 fa mov %r15,%rdx | |
| 400763: 4c 89 f6 mov %r14,%rsi | |
| 400766: 44 89 ef mov %r13d,%edi | |
| 400769: 41 ff 14 dc callq *(%r12,%rbx,8) | |
| 40076d: 48 83 c3 01 add $0x1,%rbx | |
| 400771: 48 39 eb cmp %rbp,%rbx | |
| 400774: 75 ea jne 400760 <__libc_csu_init+0x50> | |
| 400776: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx | |
| 40077b: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp | |
| 400780: 4c 8b 64 24 18 mov 0x18(%rsp),%r12 | |
| 400785: 4c 8b 6c 24 20 mov 0x20(%rsp),%r13 | |
| 40078a: 4c 8b 74 24 28 mov 0x28(%rsp),%r14 | |
| 40078f: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 | |
| 400794: 48 83 c4 38 add $0x38,%rsp | |
| 400798: c3 retq | |
| 400799: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) | |
| 00000000004007a0 <__libc_csu_fini>: | |
| 4007a0: f3 c3 repz retq | |
| 4007a2: 90 nop | |
| 4007a3: 90 nop | |
| 4007a4: 90 nop | |
| 4007a5: 90 nop | |
| 4007a6: 90 nop | |
| 4007a7: 90 nop | |
| 4007a8: 90 nop | |
| 4007a9: 90 nop | |
| 4007aa: 90 nop | |
| 4007ab: 90 nop | |
| 4007ac: 90 nop | |
| 4007ad: 90 nop | |
| 4007ae: 90 nop | |
| 4007af: 90 nop | |
| 00000000004007b0 <__do_global_ctors_aux>: | |
| 4007b0: 55 push %rbp | |
| 4007b1: 48 89 e5 mov %rsp,%rbp | |
| 4007b4: 53 push %rbx | |
| 4007b5: 48 83 ec 08 sub $0x8,%rsp | |
| 4007b9: 48 8b 05 68 06 20 00 mov 0x200668(%rip),%rax # 600e28 <__CTOR_LIST__> | |
| 4007c0: 48 83 f8 ff cmp $0xffffffffffffffff,%rax | |
| 4007c4: 74 19 je 4007df <__do_global_ctors_aux+0x2f> | |
| 4007c6: bb 28 0e 60 00 mov $0x600e28,%ebx | |
| 4007cb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) | |
| 4007d0: 48 83 eb 08 sub $0x8,%rbx | |
| 4007d4: ff d0 callq *%rax | |
| 4007d6: 48 8b 03 mov (%rbx),%rax | |
| 4007d9: 48 83 f8 ff cmp $0xffffffffffffffff,%rax | |
| 4007dd: 75 f1 jne 4007d0 <__do_global_ctors_aux+0x20> | |
| 4007df: 48 83 c4 08 add $0x8,%rsp | |
| 4007e3: 5b pop %rbx | |
| 4007e4: 5d pop %rbp | |
| 4007e5: c3 retq | |
| 4007e6: 90 nop | |
| 4007e7: 90 nop | |
| Disassembly of section .fini: | |
| 00000000004007e8 <_fini>: | |
| 4007e8: 48 83 ec 08 sub $0x8,%rsp | |
| 4007ec: e8 2f fd ff ff callq 400520 <__do_global_dtors_aux> | |
| 4007f1: 48 83 c4 08 add $0x8,%rsp | |
| 4007f5: c3 retq |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment