Advertisement
Guest User

Untitled

a guest
Aug 26th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. .intel_syntax noprefix
  2. .text
  3. .global _start
  4.  
  5. _start:
  6. xor rax,rax
  7. xor rdi,rdi
  8.  
  9. # fd = sys.open(".", 0, 0)
  10. # rdi =filename
  11. # rsi = flags
  12. # rdx = mode
  13. # syscall n 2
  14. push 0x2e # the ASCII code of '.' = current dir
  15. mov rdi,rsp
  16. xor rsi,rsi # flags = 0
  17. xor rdx,rdx # mode = 0
  18. inc rax # syscall n 2
  19. inc rax
  20. syscall
  21.  
  22. test rax,rax
  23. jz error
  24.  
  25. mov rdi,rax # fd
  26.  
  27. # getdents (fd, where = esp, size = 0x100)
  28. # rdi = fd
  29. # rsi = buffer
  30. # rdx = count
  31. # syscall n 78
  32. mov dl, 0xfe # size
  33. sub rsp,rdx # room to stock
  34. mov rsi,rsp # buffer address
  35. mov al,78 # syscall n 78
  36. syscall
  37.  
  38. # size read
  39. mov rdx,rax
  40.  
  41. # clean close
  42. # close (fd)
  43. # rdi = fd
  44. # syscall n 3
  45. xor rax,rax
  46. inc rax # +1
  47. inc rax # +1
  48. inc rax # +1 => 3
  49. syscall
  50.  
  51. # display
  52. # write (fd, buf, count)
  53. # rdi = out fd
  54. # rsi = buffer
  55. # rdx = count
  56. # syscall n 1
  57. mov rsi,rsp # adr buf
  58. xor rax,rax
  59. inc rax # syscall 1
  60. xor rdi,rdi # out fd
  61. inc rdi # n 1
  62. syscall
  63.  
  64. # clean the stack
  65. add rsp,rdx # on remonte de ce que on a lu
  66.  
  67. error:
  68. # sys_exit
  69. # syscall n 60
  70. xor rax,rax
  71. mov al,60 # syscall n 60
  72. xor rdi,rdi # error code
  73. syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement