Skip to content

Instantly share code, notes, and snippets.

@hhc0null
Created March 7, 2017 00:45
Show Gist options
  • Select an option

  • Save hhc0null/02bbdb4798ca24de8d04818a271ab8b0 to your computer and use it in GitHub Desktop.

Select an option

Save hhc0null/02bbdb4798ca24de8d04818a271ab8b0 to your computer and use it in GitHub Desktop.

Revisions

  1. hhc0null created this gist Mar 7, 2017.
    192 changes: 192 additions & 0 deletions mini.disasm
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,192 @@

    mini: file format elf64-x86-64


    Disassembly of section .init:

    00000000004003c8 <_init>:
    4003c8: 48 83 ec 08 sub $0x8,%rsp
    4003cc: 48 8b 05 25 0c 20 00 mov 0x200c25(%rip),%rax # 600ff8 <_DYNAMIC+0x1d8>
    4003d3: 48 85 c0 test %rax,%rax
    4003d6: 74 02 je 4003da <_init+0x12>
    4003d8: ff d0 callq *%rax
    4003da: 48 83 c4 08 add $0x8,%rsp
    4003de: c3 retq

    Disassembly of section .plt:

    00000000004003e0 <read@plt-0x10>:
    4003e0: ff 35 22 0c 20 00 pushq 0x200c22(%rip) # 601008 <_GLOBAL_OFFSET_TABLE_+0x8>
    4003e6: ff 25 24 0c 20 00 jmpq *0x200c24(%rip) # 601010 <_GLOBAL_OFFSET_TABLE_+0x10>
    4003ec: 0f 1f 40 00 nopl 0x0(%rax)

    00000000004003f0 <read@plt>:
    4003f0: ff 25 22 0c 20 00 jmpq *0x200c22(%rip) # 601018 <_GLOBAL_OFFSET_TABLE_+0x18>
    4003f6: 68 00 00 00 00 pushq $0x0
    4003fb: e9 e0 ff ff ff jmpq 4003e0 <_init+0x18>

    Disassembly of section .text:

    0000000000400400 <_start>:
    400400: 31 ed xor %ebp,%ebp
    400402: 49 89 d1 mov %rdx,%r9
    400405: 5e pop %rsi
    400406: 48 89 e2 mov %rsp,%rdx
    400409: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
    40040d: 50 push %rax
    40040e: 54 push %rsp
    40040f: 49 c7 c0 e0 05 40 00 mov $0x4005e0,%r8
    400416: 48 c7 c1 70 05 40 00 mov $0x400570,%rcx
    40041d: 48 c7 c7 f6 04 40 00 mov $0x4004f6,%rdi
    400424: ff 15 c6 0b 20 00 callq *0x200bc6(%rip) # 600ff0 <_DYNAMIC+0x1d0>
    40042a: f4 hlt
    40042b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)

    0000000000400430 <deregister_tm_clones>:
    400430: b8 37 10 60 00 mov $0x601037,%eax
    400435: 55 push %rbp
    400436: 48 2d 30 10 60 00 sub $0x601030,%rax
    40043c: 48 83 f8 0e cmp $0xe,%rax
    400440: 48 89 e5 mov %rsp,%rbp
    400443: 76 1b jbe 400460 <deregister_tm_clones+0x30>
    400445: b8 00 00 00 00 mov $0x0,%eax
    40044a: 48 85 c0 test %rax,%rax
    40044d: 74 11 je 400460 <deregister_tm_clones+0x30>
    40044f: 5d pop %rbp
    400450: bf 30 10 60 00 mov $0x601030,%edi
    400455: ff e0 jmpq *%rax
    400457: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
    40045e: 00 00
    400460: 5d pop %rbp
    400461: c3 retq
    400462: 0f 1f 40 00 nopl 0x0(%rax)
    400466: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
    40046d: 00 00 00

    0000000000400470 <register_tm_clones>:
    400470: be 30 10 60 00 mov $0x601030,%esi
    400475: 55 push %rbp
    400476: 48 81 ee 30 10 60 00 sub $0x601030,%rsi
    40047d: 48 c1 fe 03 sar $0x3,%rsi
    400481: 48 89 e5 mov %rsp,%rbp
    400484: 48 89 f0 mov %rsi,%rax
    400487: 48 c1 e8 3f shr $0x3f,%rax
    40048b: 48 01 c6 add %rax,%rsi
    40048e: 48 d1 fe sar %rsi
    400491: 74 15 je 4004a8 <register_tm_clones+0x38>
    400493: b8 00 00 00 00 mov $0x0,%eax
    400498: 48 85 c0 test %rax,%rax
    40049b: 74 0b je 4004a8 <register_tm_clones+0x38>
    40049d: 5d pop %rbp
    40049e: bf 30 10 60 00 mov $0x601030,%edi
    4004a3: ff e0 jmpq *%rax
    4004a5: 0f 1f 00 nopl (%rax)
    4004a8: 5d pop %rbp
    4004a9: c3 retq
    4004aa: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)

    00000000004004b0 <__do_global_dtors_aux>:
    4004b0: 80 3d 79 0b 20 00 00 cmpb $0x0,0x200b79(%rip) # 601030 <__TMC_END__>
    4004b7: 75 11 jne 4004ca <__do_global_dtors_aux+0x1a>
    4004b9: 55 push %rbp
    4004ba: 48 89 e5 mov %rsp,%rbp
    4004bd: e8 6e ff ff ff callq 400430 <deregister_tm_clones>
    4004c2: 5d pop %rbp
    4004c3: c6 05 66 0b 20 00 01 movb $0x1,0x200b66(%rip) # 601030 <__TMC_END__>
    4004ca: f3 c3 repz retq
    4004cc: 0f 1f 40 00 nopl 0x0(%rax)

    00000000004004d0 <frame_dummy>:
    4004d0: bf 18 0e 60 00 mov $0x600e18,%edi
    4004d5: 48 83 3f 00 cmpq $0x0,(%rdi)
    4004d9: 75 05 jne 4004e0 <frame_dummy+0x10>
    4004db: eb 93 jmp 400470 <register_tm_clones>
    4004dd: 0f 1f 00 nopl (%rax)
    4004e0: b8 00 00 00 00 mov $0x0,%eax
    4004e5: 48 85 c0 test %rax,%rax
    4004e8: 74 f1 je 4004db <frame_dummy+0xb>
    4004ea: 55 push %rbp
    4004eb: 48 89 e5 mov %rsp,%rbp
    4004ee: ff d0 callq *%rax
    4004f0: 5d pop %rbp
    4004f1: e9 7a ff ff ff jmpq 400470 <register_tm_clones>

    00000000004004f6 <main>:
    4004f6: 55 push %rbp
    4004f7: 48 89 e5 mov %rsp,%rbp
    4004fa: 48 81 ec a0 00 00 00 sub $0xa0,%rsp
    400501: 89 bd 6c ff ff ff mov %edi,-0x94(%rbp)
    400507: 48 89 b5 60 ff ff ff mov %rsi,-0xa0(%rbp)
    40050e: 48 c7 45 f8 00 00 00 movq $0x0,-0x8(%rbp)
    400515: 00
    400516: 48 8d 95 70 ff ff ff lea -0x90(%rbp),%rdx
    40051d: b8 00 00 00 00 mov $0x0,%eax
    400522: b9 10 00 00 00 mov $0x10,%ecx
    400527: 48 89 d7 mov %rdx,%rdi
    40052a: f3 48 ab rep stos %rax,%es:(%rdi)
    40052d: 48 8d 45 f8 lea -0x8(%rbp),%rax
    400531: ba 04 00 00 00 mov $0x4,%edx
    400536: 48 89 c6 mov %rax,%rsi
    400539: bf 00 00 00 00 mov $0x0,%edi
    40053e: e8 ad fe ff ff callq 4003f0 <read@plt>
    400543: 48 8b 55 f8 mov -0x8(%rbp),%rdx
    400547: 48 8d 85 70 ff ff ff lea -0x90(%rbp),%rax
    40054e: 48 89 c6 mov %rax,%rsi
    400551: bf 00 00 00 00 mov $0x0,%edi
    400556: e8 95 fe ff ff callq 4003f0 <read@plt>
    40055b: b8 00 00 00 00 mov $0x0,%eax
    400560: c9 leaveq
    400561: c3 retq
    400562: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
    400569: 00 00 00
    40056c: 0f 1f 40 00 nopl 0x0(%rax)

    0000000000400570 <__libc_csu_init>:
    400570: 41 57 push %r15
    400572: 41 56 push %r14
    400574: 41 89 ff mov %edi,%r15d
    400577: 41 55 push %r13
    400579: 41 54 push %r12
    40057b: 4c 8d 25 86 08 20 00 lea 0x200886(%rip),%r12 # 600e08 <__frame_dummy_init_array_entry>
    400582: 55 push %rbp
    400583: 48 8d 2d 86 08 20 00 lea 0x200886(%rip),%rbp # 600e10 <__init_array_end>
    40058a: 53 push %rbx
    40058b: 49 89 f6 mov %rsi,%r14
    40058e: 49 89 d5 mov %rdx,%r13
    400591: 4c 29 e5 sub %r12,%rbp
    400594: 48 83 ec 08 sub $0x8,%rsp
    400598: 48 c1 fd 03 sar $0x3,%rbp
    40059c: e8 27 fe ff ff callq 4003c8 <_init>
    4005a1: 48 85 ed test %rbp,%rbp
    4005a4: 74 20 je 4005c6 <__libc_csu_init+0x56>
    4005a6: 31 db xor %ebx,%ebx
    4005a8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
    4005af: 00
    4005b0: 4c 89 ea mov %r13,%rdx
    4005b3: 4c 89 f6 mov %r14,%rsi
    4005b6: 44 89 ff mov %r15d,%edi
    4005b9: 41 ff 14 dc callq *(%r12,%rbx,8)
    4005bd: 48 83 c3 01 add $0x1,%rbx
    4005c1: 48 39 dd cmp %rbx,%rbp
    4005c4: 75 ea jne 4005b0 <__libc_csu_init+0x40>
    4005c6: 48 83 c4 08 add $0x8,%rsp
    4005ca: 5b pop %rbx
    4005cb: 5d pop %rbp
    4005cc: 41 5c pop %r12
    4005ce: 41 5d pop %r13
    4005d0: 41 5e pop %r14
    4005d2: 41 5f pop %r15
    4005d4: c3 retq
    4005d5: 90 nop
    4005d6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
    4005dd: 00 00 00

    00000000004005e0 <__libc_csu_fini>:
    4005e0: f3 c3 repz retq

    Disassembly of section .fini:

    00000000004005e4 <_fini>:
    4005e4: 48 83 ec 08 sub $0x8,%rsp
    4005e8: 48 83 c4 08 add $0x8,%rsp
    4005ec: c3 retq