Advertisement
fooker

disassembly

Mar 16th, 2024 (edited)
502
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. prog:     file format elf64-x86-64
  2.  
  3.  
  4. Disassembly of section .text:
  5.  
  6. 0000000000401000 <_start>:
  7.   401000:       4c 8d 14 25 6b 11 40    lea    r10,ds:0x40116b
  8.   401007:       00
  9.   401008:       41 bb 06 00 00 00       mov    r11d,0x6
  10.   40100e:       e8 00 00 00 00          call   401013 <_start+0x13>
  11.   401013:       58                      pop    rax
  12.   401014:       48 83 c0 0a             add    rax,0xa
  13.   401018:       e9 a6 00 00 00          jmp    4010c3 <print>
  14.   40101d:       58                      pop    rax
  15.   40101e:       48 83 ec 20             sub    rsp,0x20
  16.   401022:       49 89 e2                mov    r10,rsp
  17.   401025:       41 bb 19 00 00 00       mov    r11d,0x19
  18.   40102b:       e8 00 00 00 00          call   401030 <_start+0x30>
  19.   401030:       58                      pop    rax
  20.   401031:       48 83 c0 0a             add    rax,0xa
  21.   401035:       e9 9f 00 00 00          jmp    4010d9 <read>
  22.   40103a:       58                      pop    rax
  23.   40103b:       48 8d 04 25 5f 10 40    lea    rax,ds:0x40105f
  24.   401042:       00
  25.   401043:       50                      push   rax
  26.   401044:       50                      push   rax
  27.   401045:       48 8d 04 25 5d 10 40    lea    rax,ds:0x40105d
  28.   40104c:       00
  29.   40104d:       48 89 e5                mov    rbp,rsp
  30.   401050:       48 8d 24 25 f1 10 40    lea    rsp,ds:0x4010f1
  31.   401057:       00
  32.   401058:       e9 94 00 00 00          jmp    4010f1 <key>
  33.  
  34. 000000000040105d <_start.continuation>:
  35.   40105d:       c9                      leave
  36.   40105e:       c3                      ret
  37.  
  38. 000000000040105f <correct>:
  39.   40105f:       4c 8d 14 25 71 11 40    lea    r10,ds:0x401171
  40.   401066:       00
  41.   401067:       41 bb 09 00 00 00       mov    r11d,0x9
  42.   40106d:       e8 00 00 00 00          call   401072 <correct+0x13>
  43.   401072:       58                      pop    rax
  44.   401073:       48 83 c0 07             add    rax,0x7
  45.   401077:       eb 4a                   jmp    4010c3 <print>
  46.   401079:       58                      pop    rax
  47.   40107a:       e8 2c 00 00 00          call   4010ab <exit>
  48.  
  49. 000000000040107f <incorrect>:
  50.   40107f:       4c 8d 14 25 7a 11 40    lea    r10,ds:0x40117a
  51.   401086:       00
  52.   401087:       41 bb 09 00 00 00       mov    r11d,0x9
  53.   40108d:       b8 01 00 00 00          mov    eax,0x1
  54.   401092:       bf 01 00 00 00          mov    edi,0x1
  55.   401097:       4c 89 d6                mov    rsi,r10
  56.   40109a:       4c 89 da                mov    rdx,r11
  57.   40109d:       0f 05                   syscall
  58.   40109f:       eb 0a                   jmp    4010ab <exit>
  59.  
  60. 00000000004010a1 <syscall>:
  61.   4010a1:       55                      push   rbp
  62.   4010a2:       48 89 e5                mov    rbp,rsp
  63.   4010a5:       48 83 ec 40             sub    rsp,0x40
  64.   4010a9:       0f 05                   syscall
  65.  
  66. 00000000004010ab <exit>:
  67.   4010ab:       b8 4a 00 00 00          mov    eax,0x4a
  68.   4010b0:       bf 01 00 00 00          mov    edi,0x1
  69.   4010b5:       0f 05                   syscall
  70.   4010b7:       b8 3c 00 00 00          mov    eax,0x3c
  71.   4010bc:       bf 00 00 00 00          mov    edi,0x0
  72.   4010c1:       0f 05                   syscall
  73.  
  74. 00000000004010c3 <print>:
  75.   4010c3:       50                      push   rax
  76.   4010c4:       b8 01 00 00 00          mov    eax,0x1
  77.   4010c9:       bf 01 00 00 00          mov    edi,0x1
  78.   4010ce:       4c 89 d6                mov    rsi,r10
  79.   4010d1:       4c 89 da                mov    rdx,r11
  80.   4010d4:       0f 05                   syscall
  81.   4010d6:       58                      pop    rax
  82.   4010d7:       ff d0                   call   rax
  83.  
  84. 00000000004010d9 <read>:
  85.   4010d9:       50                      push   rax
  86.   4010da:       b8 00 00 00 00          mov    eax,0x0
  87.   4010df:       bf 00 00 00 00          mov    edi,0x0
  88.   4010e4:       4c 89 d6                mov    rsi,r10
  89.   4010e7:       4c 89 da                mov    rdx,r11
  90.   4010ea:       0f 05                   syscall
  91.   4010ec:       58                      pop    rax
  92.   4010ed:       ff d0                   call   rax
  93.   4010ef:       c9                      leave
  94.   4010f0:       c3                      ret
  95.  
  96. 00000000004010f1 <key>:
  97.   4010f1:       49 89 c6                mov    r14,rax
  98.   4010f4:       41 b8 00 00 00 00       mov    r8d,0x0
  99.   4010fa:       b8 00 00 00 00          mov    eax,0x0
  100.   4010ff:       48 8d 1c 25 0e 11 40    lea    rbx,ds:0x40110e
  101.   401106:       00
  102.  
  103. 0000000000401107 <key.funny>:
  104.   401107:       66 b8 48 31             mov    ax,0x3148
  105.   40110b:       f9                      stc
  106.   40110c:       ff e3                   jmp    rbx
  107.  
  108. 000000000040110e <key.loop>:
  109.   40110e:       41 88 c1                mov    r9b,al
  110.   401111:       4d 0f b6 c9             movzx  r9,r9b
  111.   401115:       42 8a 0c 0c             mov    cl,BYTE PTR [rsp+r9*1]
  112.   401119:       43 8a 3c 10             mov    dil,BYTE PTR [r8+r10*1]
  113.   40111d:       48 8d 1d 0a 00 00 00    lea    rbx,[rip+0xa]        # 40112e <key.continuation>
  114.   401124:       4c 8d 0d de ff ff ff    lea    r9,[rip+0xffffffffffffffde]        # 401109 <key.funny+0x2>
  115.   40112b:       41 ff e1                jmp    r9
  116.  
  117. 000000000040112e <key.continuation>:
  118.   40112e:       41 8a b8 83 11 40 00    mov    dil,BYTE PTR [r8+0x401183]
  119.   401135:       40 38 f9                cmp    cl,dil
  120.   401138:       0f 85 41 ff ff ff       jne    40107f <incorrect>
  121.   40113e:       66 a9 01 00             test   ax,0x1
  122.   401142:       74 18                   je     40115c <key.even>
  123.  
  124. 0000000000401144 <key.odd>:
  125.   401144:       66 89 c3                mov    bx,ax
  126.   401147:       66 d1 e0                shl    ax,1
  127.   40114a:       66 01 d8                add    ax,bx
  128.   40114d:       66 ff c0                inc    ax
  129.   401150:       49 ff c0                inc    r8
  130.   401153:       49 83 f8 18             cmp    r8,0x18
  131.   401157:       7c b5                   jl     40110e <key.loop>
  132.   401159:       41 ff e6                jmp    r14
  133.  
  134. 000000000040115c <key.even>:
  135.   40115c:       66 d1 e8                shr    ax,1
  136.   40115f:       49 ff c0                inc    r8
  137.   401162:       49 83 f8 18             cmp    r8,0x18
  138.   401166:       7c a6                   jl     40110e <key.loop>
  139.   401168:       41 ff e6                jmp    r14
  140.  
  141. 000000000040116b <prompt>:
  142.   40116b:       66 6c                   data16 ins BYTE PTR es:[rdi],dx
  143.   40116d:       61                      (bad)
  144.   40116e:       67 3f                   addr32 (bad)
  145.   401170:       20                      .byte 0x20
  146.  
  147. 0000000000401171 <correct_msg>:
  148.   401171:       63 6f 72                movsxd ebp,DWORD PTR [rdi+0x72]
  149.   401174:       72 65                   jb     4011db <data+0x58>
  150.   401176:       63 74 21 0a             movsxd esi,DWORD PTR [rcx+riz*1+0xa]
  151.  
  152. 000000000040117a <incorrect_msg>:
  153.   40117a:       77 72                   ja     4011ee <data+0x6b>
  154.   40117c:       6f                      outs   dx,DWORD PTR ds:[rsi]
  155.   40117d:       6e                      outs   dx,BYTE PTR ds:[rsi]
  156.   40117e:       67 20 3a                and    BYTE PTR [edx],bh
  157.   401181:       28 0a                   sub    BYTE PTR [rdx],cl
  158.  
  159. 0000000000401183 <data>:
  160.   401183:       f2 0f 6c                (bad)
  161.   401186:       ec                      in     al,dx
  162.   401187:       1a e2                   sbb    ah,dl
  163.   401189:       57                      push   rdi
  164.   40118a:       70 70                   jo     4011fc <data+0x79>
  165.   40118c:       86 ea                   xchg   dl,ch
  166.   40118e:       ba b5 63 cf 8c          mov    edx,0x8ccf63b5
  167.   401193:       f8                      clc
  168.   401194:       0b 6c e0 6e             or     ebp,DWORD PTR [rax+riz*8+0x6e]
  169.   401198:       15                      .byte 0x15
  170.   401199:       53                      push   rbx
  171.   40119a:       45                      rex.RB
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement