Advertisement
Guest User

asm

a guest
Dec 16th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. gdb-peda$ disassemble main
  2. Dump of assembler code for function main:
  3.    0x0000555555555155 <+0>: push   rbp
  4.    0x0000555555555156 <+1>: mov    rbp,rsp
  5.    0x0000555555555159 <+4>: push   rbx
  6.    0x000055555555515a <+5>: sub    rsp,0x78
  7.    0x000055555555515e <+9>: mov    DWORD PTR [rbp-0x74],edi
  8.    0x0000555555555161 <+12>:    mov    QWORD PTR [rbp-0x80],rsi
  9.    0x0000555555555165 <+16>:    mov    rax,QWORD PTR [rbp-0x80]
  10.    0x0000555555555169 <+20>:    mov    rax,QWORD PTR [rax+0x8]
  11.    0x000055555555516d <+24>:    mov    QWORD PTR [rbp-0x38],rax
  12.    0x0000555555555171 <+28>:    mov    BYTE PTR [rbp-0x50],0xb6
  13.    0x0000555555555175 <+32>:    mov    BYTE PTR [rbp-0x4f],0xa9
  14.    0x0000555555555179 <+36>:    mov    BYTE PTR [rbp-0x4e],0xc2
  15.    0x000055555555517d <+40>:    mov    BYTE PTR [rbp-0x4d],0xcd
  16.    0x0000555555555181 <+44>:    mov    BYTE PTR [rbp-0x4c],0x8d
  17.    0x0000555555555185 <+48>:    mov    BYTE PTR [rbp-0x4b],0x99
  18.    0x0000555555555189 <+52>:    mov    BYTE PTR [rbp-0x4a],0xc0
  19.    0x000055555555518d <+56>:    mov    BYTE PTR [rbp-0x49],0xaa
  20.    0x0000555555555191 <+60>:    mov    BYTE PTR [rbp-0x48],0xab
  21.    0x0000555555555195 <+64>:    mov    BYTE PTR [rbp-0x47],0xb9
  22.    0x0000555555555199 <+68>:    mov    BYTE PTR [rbp-0x46],0xa9
  23.    0x000055555555519d <+72>:    mov    BYTE PTR [rbp-0x45],0xc6
  24.    0x00005555555551a1 <+76>:    mov    BYTE PTR [rbp-0x44],0x9f
  25.    0x00005555555551a5 <+80>:    mov    BYTE PTR [rbp-0x43],0xbb
  26.    0x00005555555551a9 <+84>:    mov    BYTE PTR [rbp-0x42],0xca
  27.    0x00005555555551ad <+88>:    mov    BYTE PTR [rbp-0x41],0xcc
  28.    0x00005555555551b1 <+92>:    mov    BYTE PTR [rbp-0x40],0x0
  29.    0x00005555555551b5 <+96>:    mov    BYTE PTR [rbp-0x70],0x9e
  30.    0x00005555555551b9 <+100>:   mov    BYTE PTR [rbp-0x6f],0xa2
  31.    0x00005555555551bd <+104>:   mov    BYTE PTR [rbp-0x6e],0xa9
  32.    0x00005555555551c1 <+108>:   mov    BYTE PTR [rbp-0x6d],0xa1
  33.    0x00005555555551c5 <+112>:   mov    BYTE PTR [rbp-0x6c],0x99
  34.    0x00005555555551c9 <+116>:   mov    BYTE PTR [rbp-0x6b],0xd0
  35.    0x00005555555551cd <+120>:   mov    BYTE PTR [rbp-0x6a],0xa9
  36.    0x00005555555551d1 <+124>:   mov    BYTE PTR [rbp-0x69],0xbd
  37.    0x00005555555551d5 <+128>:   mov    BYTE PTR [rbp-0x68],0x86
  38.    0x00005555555551d9 <+132>:   mov    BYTE PTR [rbp-0x67],0xc8
  39.    0x00005555555551dd <+136>:   mov    BYTE PTR [rbp-0x66],0x86
  40.    0x00005555555551e1 <+140>:   mov    BYTE PTR [rbp-0x65],0xc8
  41.    0x00005555555551e5 <+144>:   mov    BYTE PTR [rbp-0x64],0xa3
  42.    0x00005555555551e9 <+148>:   mov    BYTE PTR [rbp-0x63],0x85
  43.    0x00005555555551ed <+152>:   mov    BYTE PTR [rbp-0x62],0xc9
  44.    0x00005555555551f1 <+156>:   mov    BYTE PTR [rbp-0x61],0x98
  45.    0x00005555555551f5 <+160>:   mov    BYTE PTR [rbp-0x60],0xbd
  46.    0x00005555555551f9 <+164>:   mov    BYTE PTR [rbp-0x5f],0x88
  47.    0x00005555555551fd <+168>:   mov    BYTE PTR [rbp-0x5e],0x89
  48.    0x0000555555555201 <+172>:   mov    BYTE PTR [rbp-0x5d],0xc9
  49.    0x0000555555555205 <+176>:   mov    BYTE PTR [rbp-0x5c],0x86
  50.    0x0000555555555209 <+180>:   mov    BYTE PTR [rbp-0x5b],0xc3
  51.    0x000055555555520d <+184>:   mov    BYTE PTR [rbp-0x5a],0xbc
  52.    0x0000555555555211 <+188>:   mov    BYTE PTR [rbp-0x59],0xd2
  53.    0x0000555555555215 <+192>:   mov    BYTE PTR [rbp-0x58],0x0
  54.    0x0000555555555219 <+196>:   mov    DWORD PTR [rbp-0x14],0x0
  55.    0x0000555555555220 <+203>:   cmp    DWORD PTR [rbp-0x74],0x2
  56.    0x0000555555555224 <+207>:   je     0x55555555523c <main+231>
  57.    0x0000555555555226 <+209>:   lea    rdi,[rip+0xdd7]        # 0x555555556004
  58.    0x000055555555522d <+216>:   call   0x555555555030 <puts@plt>
  59.    0x0000555555555232 <+221>:   mov    eax,0x1
  60.    0x0000555555555237 <+226>:   jmp    0x555555555319 <main+452>
  61.    0x000055555555523c <+231>:   mov    rax,QWORD PTR [rbp-0x38]
  62.    0x0000555555555240 <+235>:   mov    QWORD PTR [rbp-0x20],rax
  63.    0x0000555555555244 <+239>:   jmp    0x55555555525a <main+261>
  64.    0x0000555555555246 <+241>:   mov    rax,QWORD PTR [rbp-0x20]
  65.    0x000055555555524a <+245>:   lea    rdx,[rax+0x1]
  66.    0x000055555555524e <+249>:   mov    QWORD PTR [rbp-0x20],rdx
  67.    0x0000555555555252 <+253>:   movzx  edx,BYTE PTR [rax]
  68.    0x0000555555555255 <+256>:   add    edx,0x55
  69.    0x0000555555555258 <+259>:   mov    BYTE PTR [rax],dl
  70.    0x000055555555525a <+261>:   mov    rax,QWORD PTR [rbp-0x20]
  71.    0x000055555555525e <+265>:   movzx  eax,BYTE PTR [rax]
  72.    0x0000555555555261 <+268>:   test   al,al
  73.    0x0000555555555263 <+270>:   jne    0x555555555246 <main+241>
  74.    0x0000555555555265 <+272>:   mov    DWORD PTR [rbp-0x24],0x0
  75.    0x000055555555526c <+279>:   jmp    0x555555555294 <main+319>
  76.    0x000055555555526e <+281>:   mov    eax,DWORD PTR [rbp-0x24]
  77.    0x0000555555555271 <+284>:   movsxd rdx,eax
  78.    0x0000555555555274 <+287>:   mov    rax,QWORD PTR [rbp-0x38]
  79.    0x0000555555555278 <+291>:   add    rax,rdx
  80.    0x000055555555527b <+294>:   movzx  edx,BYTE PTR [rax]
  81.    0x000055555555527e <+297>:   mov    eax,DWORD PTR [rbp-0x24]
  82.    0x0000555555555281 <+300>:   cdqe  
  83.    0x0000555555555283 <+302>:   movzx  eax,BYTE PTR [rbp+rax*1-0x50]
  84.    0x0000555555555288 <+307>:   cmp    dl,al
  85.    0x000055555555528a <+309>:   jne    0x5555555552ad <main+344>
  86.    0x000055555555528c <+311>:   add    DWORD PTR [rbp-0x14],0x1
  87.    0x0000555555555290 <+315>:   add    DWORD PTR [rbp-0x24],0x1
  88.    0x0000555555555294 <+319>:   mov    eax,DWORD PTR [rbp-0x24]
  89.    0x0000555555555297 <+322>:   movsxd rbx,eax
  90.    0x000055555555529a <+325>:   lea    rax,[rbp-0x50]
  91.    0x000055555555529e <+329>:   mov    rdi,rax
  92.    0x00005555555552a1 <+332>:   call   0x555555555040 <strlen@plt>
  93.    0x00005555555552a6 <+337>:   cmp    rbx,rax
  94.    0x00005555555552a9 <+340>:   jb     0x55555555526e <main+281>
  95.    0x00005555555552ab <+342>:   jmp    0x5555555552ae <main+345>
  96.    0x00005555555552ad <+344>:   nop
  97.    0x00005555555552ae <+345>:   mov    eax,DWORD PTR [rbp-0x14]
  98.    0x00005555555552b1 <+348>:   movsxd rbx,eax
  99.    0x00005555555552b4 <+351>:   lea    rax,[rbp-0x50]
  100.    0x00005555555552b8 <+355>:   mov    rdi,rax
  101.    0x00005555555552bb <+358>:   call   0x555555555040 <strlen@plt>
  102.    0x00005555555552c0 <+363>:   cmp    rbx,rax
  103.    0x00005555555552c3 <+366>:   jne    0x555555555308 <main+435>
  104.    0x00005555555552c5 <+368>:   lea    rax,[rbp-0x70]
  105.    0x00005555555552c9 <+372>:   mov    QWORD PTR [rbp-0x30],rax
  106.    0x00005555555552cd <+376>:   jmp    0x5555555552e3 <main+398>
  107.    0x00005555555552cf <+378>:   mov    rax,QWORD PTR [rbp-0x30]
  108.    0x00005555555552d3 <+382>:   lea    rdx,[rax+0x1]
  109.    0x00005555555552d7 <+386>:   mov    QWORD PTR [rbp-0x30],rdx
  110.    0x00005555555552db <+390>:   movzx  edx,BYTE PTR [rax]
  111.    0x00005555555552de <+393>:   sub    edx,0x55
  112.    0x00005555555552e1 <+396>:   mov    BYTE PTR [rax],dl
  113.    0x00005555555552e3 <+398>:   mov    rax,QWORD PTR [rbp-0x30]
  114.    0x00005555555552e7 <+402>:   movzx  eax,BYTE PTR [rax]
  115.    0x00005555555552ea <+405>:   test   al,al
  116.    0x00005555555552ec <+407>:   jne    0x5555555552cf <main+378>
  117.    0x00005555555552ee <+409>:   lea    rax,[rbp-0x70]
  118.    0x00005555555552f2 <+413>:   mov    rsi,rax
  119.    0x00005555555552f5 <+416>:   lea    rdi,[rip+0xd25]        # 0x555555556021
  120.    0x00005555555552fc <+423>:   mov    eax,0x0
  121.    0x0000555555555301 <+428>:   call   0x555555555050 <printf@plt>
  122.    0x0000555555555306 <+433>:   jmp    0x555555555314 <main+447>
  123.    0x0000555555555308 <+435>:   lea    rdi,[rip+0xd2e]        # 0x55555555603d
  124.    0x000055555555530f <+442>:   call   0x555555555030 <puts@plt>
  125.    0x0000555555555314 <+447>:   mov    eax,0x0
  126.    0x0000555555555319 <+452>:   add    rsp,0x78
  127.    0x000055555555531d <+456>:   pop    rbx
  128.    0x000055555555531e <+457>:   pop    rbp
  129.    0x000055555555531f <+458>:   ret    
  130. End of assembler dump.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement