123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- strcmp.bin: file format elf64-x86-64
- Disassembly of section .text:
- :_start
- c6 04 25 e4 01 60 00 # movb $0x54,0x6001e4
- 54
- c6 04 25 e5 01 60 00 # movb $0x65,0x6001e5
- 65
- c6 04 25 e6 01 60 00 # movb $0x73,0x6001e6
- 73
- c6 04 25 e7 01 60 00 # movb $0x74,0x6001e7
- 74
- c6 04 25 e8 01 60 00 # movb $0x53,0x6001e8
- 53
- c6 04 25 e9 01 60 00 # movb $0x54,0x6001e9
- 54
- c6 04 25 ea 01 60 00 # movb $0x72,0x6001ea
- 72
- 48 c7 c0 04 02 60 00 # mov $0x600204,%rax
- e8 3d 00 00 00 # callq 400131 <getstr>
- 48 c7 c0 01 00 00 00 # mov $0x1,%rax
- 48 c7 c7 01 00 00 00 # mov $0x1,%rdi
- 48 c7 c6 04 02 60 00 # mov $0x600204,%rsi
- 48 c7 c2 2a 00 00 00 # mov $0x2a,%rdx
- 0f 05 # syscall
- 48 c7 c1 e4 01 60 00 # mov $0x6001e4,%rcx
- 48 c7 c2 04 02 60 00 # mov $0x600204,%rdx
- e8 89 00 00 00 # callq 4001ae <strcmp>
- 48 89 c7 # mov %rax,%rdi
- 48 c7 c0 3c 00 00 00 # mov $0x3c,%rax
- 0f 05 # syscall
- :getstr
- 48 89 c3 # mov %rax,%rbx
- :getstr.loop
- e8 12 00 00 00 # callq 40014b <getchar>
- 48 83 f8 ff # cmp $0xffffffffffffffff,%rax
- 74 08 # je 400147 <getstr.done>
- 88 03 # mov %al,(%rbx)
- 48 83 c3 01 # add $0x1,%rbx
- eb ed # jmp 400134 <getstr.loop>
- :getstr.done
- c6 03 00 # movb $0x0,(%rbx)
- c3 # retq
- :getchar
- 48 c7 c0 00 00 00 00 # mov $0x0,%rax
- 48 c7 c7 00 00 00 00 # mov $0x0,%rdi
- 48 8d 34 25 2e 02 60 # lea 0x60022e,%rsi
- 00
- 48 c7 c2 01 00 00 00 # mov $0x1,%rdx
- 0f 05 # syscall
- 48 83 f8 01 # cmp $0x1,%rax
- 75 0f # jne 40017f <getchar.getchar_fail>
- 48 c7 c0 00 00 00 00 # mov $0x0,%rax
- 8a 04 25 2e 02 60 00 # mov 0x60022e,%al
- c3 # retq
- :getchar.getchar_fail
- 48 c7 c0 ff ff ff ff # mov $0xffffffffffffffff,%rax
- c3 # retq
- :putchar
- 88 04 25 2e 02 60 00 # mov %al,0x60022e
- 48 c7 c0 01 00 00 00 # mov $0x1,%rax
- 48 c7 c7 01 00 00 00 # mov $0x1,%rdi
- 48 8d 34 25 2e 02 60 # lea 0x60022e,%rsi
- 00
- 48 c7 c2 01 00 00 00 # mov $0x1,%rdx
- 0f 05 # syscall
- c3 # retq
- :strcmp
- 8a 01 # mov (%rcx),%al
- 8a 1a # mov (%rdx),%bl
- 3c 00 # cmp $0x0,%al
- 74 11 # je 4001c7 <strcmp.al.eq>
- 80 fb 00 # cmp $0x0,%bl
- 74 21 # je 4001dc <strcmp.bl.eq.2>
- 38 d8 # cmp %bl,%al
- 75 1d # jne 4001dc <strcmp.bl.eq.2>
- 48 ff c1 # inc %rcx
- 48 ff c2 # inc %rdx
- eb e7 # jmp 4001ae <strcmp>
- :strcmp.al.eq
- 80 fb 00 # cmp $0x0,%bl
- 74 08 # je 4001d4 <strcmp.bl.eq.1>
- 48 c7 c0 01 00 00 00 # mov $0x1,%rax
- c3 # retq
- :strcmp.bl.eq.1
- 48 c7 c0 00 00 00 00 # mov $0x0,%rax
- c3 # retq
- :strcmp.bl.eq.2
- 48 c7 c0 01 00 00 00 # mov $0x1,%rax
- c3 # retq
- Disassembly of section .bss:
- :__bss_start
- ...
- :mystr
- ...
- :buf
- ...
- Disassembly of section .debug_aranges:
- :.debug_aranges
- 2c 00 # sub $0x0,%al
- 00 00 # add %al,(%rax)
- 02 00 # add (%rax),%al
- 00 00 # add %al,(%rax)
- 00 00 # add %al,(%rax)
- 08 00 # or %al,(%rax)
- 00 00 # add %al,(%rax)
- 00 00 # add %al,(%rax)
- b0 00 # mov $0x0,%al
- 40 00 00 # add %al,(%rax)
- 00 00 # add %al,(%rax)
- 00 34 01 # add %dh,(%rcx,%rax,1)
- ...
- Disassembly of section .debug_info:
- :.debug_info
- 5d # pop %rbp
- 00 00 # add %al,(%rax)
- 00 02 # add %al,(%rdx)
- 00 00 # add %al,(%rax)
- 00 00 # add %al,(%rax)
- 00 08 # add %cl,(%rax)
- 01 00 # add %eax,(%rax)
- 00 00 # add %al,(%rax)
- 00 b0 00 40 00 00 # add %dh,0x4000(%rax)
- 00 00 # add %al,(%rax)
- 00 e4 # add %ah,%ah
- 01 40 00 # add %eax,0x0(%rax)
- 00 00 # add %al,(%rax)
- 00 00 # add %al,(%rax)
- 73 74 # jae 96 <_start-0x40001a>
- 72 63 # jb 87 <_start-0x400029>
- 6d # insl (%dx),%es:(%rdi)
- 70 2e # jo 55 <_start-0x40005b>
- 61 # (bad)
- 73 6d # jae 97 <_start-0x400019>
- 00 2f # add %ch,(%rdi)
- 68 6f 6d 65 2f # pushq $0x2f656d6f
- 69 76 79 2f 43 6f 64 # imul $0x646f432f,0x79(%rsi),%esi
- 65 2f # gs (bad)
- 67 75 69 # addr32 jne a6 <_start-0x40000a>
- 78 2d # js 6c <_start-0x400044>
- 62 # (bad)
- 6f # outsl %ds:(%rsi),(%dx)
- 6f # outsl %ds:(%rsi),(%dx)
- 74 73 # je b7 <_start-0x3ffff9>
- 74 72 # je b8 <_start-0x3ffff8>
- 61 # (bad)
- 70 2f # jo 78 <_start-0x400038>
- 68 65 78 38 36 # pushq $0x36387865
- 2f # (bad)
- 61 # (bad)
- 73 6d # jae bf <_start-0x3ffff1>
- 2f # (bad)
- 00 79 61 # add %bh,0x61(%rcx)
- 73 6d # jae c5 <_start-0x3fffeb>
- 20 31 # and %dh,(%rcx)
- 2e 33 2e # xor %cs:(%rsi),%ebp
- 30 00 # xor %al,(%rax)
- 01 # .byte 0x1
- 80 # .byte 0x80
- Disassembly of section .debug_abbrev:
- :.debug_abbrev
- 01 11 # add %edx,(%rcx)
- 00 10 # add %dl,(%rax)
- 06 # (bad)
- 11 01 # adc %eax,(%rcx)
- 12 01 # adc (%rcx),%al
- 03 08 # add (%rax),%ecx
- 1b 08 # sbb (%rax),%ecx
- 25 08 13 05 00 # and $0x51308,%eax
- ...
- Disassembly of section .debug_line:
- :.debug_line
- 7e 00 # jle 2 <_start-0x4000ae>
- 00 00 # add %al,(%rax)
- 02 00 # add (%rax),%al
- 21 00 # and %eax,(%rax)
- 00 00 # add %al,(%rax)
- 01 01 # add %eax,(%rcx)
- fb # sti
- 0e # (bad)
- 0d 00 01 01 01 # or $0x1010100,%eax
- 01 00 # add %eax,(%rax)
- 00 00 # add %al,(%rax)
- 01 00 # add %eax,(%rax)
- 00 01 # add %al,(%rcx)
- 00 73 74 # add %dh,0x74(%rbx)
- 72 63 # jb 83 <_start-0x40002d>
- 6d # insl (%dx),%es:(%rdi)
- 70 2e # jo 51 <_start-0x40005f>
- 61 # (bad)
- 73 6d # jae 93 <_start-0x40001d>
- 00 00 # add %al,(%rax)
- 00 00 # add %al,(%rax)
- 00 00 # add %al,(%rax)
- 09 02 # or %eax,(%rdx)
- b0 00 # mov $0x0,%al
- 40 00 00 # add %al,(%rax)
- 00 00 # add %al,(%rax)
- 00 03 # add %al,(%rbx)
- 09 01 # or %eax,(%rcx)
- 83 83 83 83 83 83 85 # addl $0xffffff85,-0x7c7c7c7d(%rbx)
- 75 5b # jne 9d <_start-0x400013>
- 75 75 # jne b9 <_start-0x3ffff7>
- 75 75 # jne bb <_start-0x3ffff5>
- 31 75 75 # xor %esi,0x75(%rbp)
- 5b # pop %rbx
- 3d 75 31 3e 59 # cmp $0x593e3175,%eax
- 4b 30 2f # rex.WXB xor %bpl,(%r15)
- 4b 31 3d 23 75 75 83 # rex.WXB xor %rdi,-0x7c8a8add(%rip) # ffffffff8375757c <_end+0xffffffff83157344>
- 75 30 # jne 8b <_start-0x400025>
- 4b 30 75 75 # rex.WXB xor %sil,0x75(%r13)
- 23 75 23 # and 0x23(%rbp),%esi
- 76 75 # jbe d9 <_start-0x3fffd7>
- 75 83 # jne ffffffffffffffe9 <_end+0xffffffffff9ffdb1>
- 75 30 # jne 98 <_start-0x400018>
- 03 0b # add (%rbx),%ecx
- 20 2f # and %ch,(%rdi)
- 34 2f # xor $0x2f,%al
- 30 3d 31 2f 30 3d # xor %bh,0x3d302f31(%rip) # 3d302fa5 <_end+0x3cd02d6d>
- 3e 32 3d 30 75 24 75 # xor %ds:0x75247530(%rip),%bh # 752475ab <_end+0x74c47373>
- 25 75 02 01 00 # and $0x10275,%eax
- 01 01 # add %eax,(%rcx)
|