sm4rtn0bit4

sys_call macros ASM (NASM) (linux)

Jan 20th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. section .bss
  2.     digitSpace resb 100
  3.     digitSpacePos resb 8
  4.     printSpace resb 8
  5. %macro print 1
  6.     mov rax, %1
  7.     mov [printSpace], rax
  8.     mov rbx, 0
  9. %%printLoop:
  10.     mov cl, [rax]
  11.     cmp cl, 0
  12.     je %%endPrintLoop
  13.     inc rbx
  14.     inc rax
  15.     jmp %%printLoop
  16. %%endPrintLoop:
  17.     mov rax, SYS_WRITE
  18.     mov rdi, STDIN
  19.     mov rsi, [printSpace]
  20.     mov rdx, rbx
  21.     syscall
  22. %endmacro
  23.  
  24. %macro printVal 1
  25.     mov rax, %1
  26. %%printRAX:
  27.     mov rcx, digitSpace
  28. ;   mov rbx, 10
  29. ;   mov [rcx], rbx
  30. ;   inc rcx
  31.     mov [digitSpacePos], rcx
  32.  
  33. %%printRAXLoop:
  34.     mov rdx, 0
  35.     mov rbx, 10
  36.     div rbx
  37.     push rax
  38.     add rdx, 48
  39.  
  40.     mov rcx, [digitSpacePos]
  41.     mov [rcx], dl
  42.     inc rcx
  43.     mov [digitSpacePos], rcx
  44.    
  45.     pop rax
  46.     cmp rax, 0
  47.     jne %%printRAXLoop
  48.  
  49. %%printRAXLoop2:
  50.     mov rcx, [digitSpacePos]
  51.  
  52.     mov rax, 1
  53.     mov rdi, 1
  54.     mov rsi, rcx
  55.     mov rdx, 1
  56.     syscall
  57.  
  58.     mov rcx, [digitSpacePos]
  59.     dec rcx
  60.     mov [digitSpacePos], rcx
  61.  
  62.     cmp rcx, digitSpace
  63.     jge %%printRAXLoop2
  64.  
  65. %endmacro
  66.  
  67. %macro exit 0
  68.     mov rax, SYS_EXIT
  69.     mov rdi, 0
  70.     syscall
  71. %endmacro
  72.  
  73. STDIN_FILENO    equ 0
  74. STDOUT_FILENO   equ 1
  75. STDERR_FILENO   equ 2
  76. STDIN   equ 0
  77. STDOUT  equ 1
  78. STDERR  equ 2
  79.  
  80. O_RDONLY    equ 0
  81. O_WRONLY    equ 1
  82. O_RDWR      equ 2
  83.  
  84. O_CREAT     equ 64
  85. O_EXCL      equ 128
  86. O_NOCTTY    equ 256
  87. O_TRUNC     equ 512
  88. O_APPEND    equ 1024
  89. O_NONBLOCK  equ 2048
  90. O_NDELAY    equ 2048
  91. O_DSYNC     equ 4096
  92. O_ASYNC     equ 8192
  93. O_DIRECT    equ 16384
  94. O_DIRECTORY equ 65536
  95. O_NOFOLLOW  equ 131072
  96. O_NOATIME   equ 262144
  97. O_CLOEXEC   equ 524288
  98. O_SYNC      equ 1052672
  99. O_PATH      equ 2097152
  100. O_TMPFILE   equ 4259840
  101.  
  102. O_LARGEFILE equ 0
  103.  
  104. SYS_READ    equ 0
  105. SYS_WRITE   equ 1
  106. SYS_OPEN    equ 2
  107. SYS_CLOSE   equ 3
  108. SYS_STAT    equ 4
  109. SYS_FSTAT   equ 5
  110. SYS_LSTAT   equ 6
  111. SYS_POLL    equ 7
  112. SYS_LSEEK   equ 8
  113. SYS_MMAP    equ 9
  114. SYS_MPROTECT    equ 10
  115. SYS_MUNMAP  equ 11
  116. SYS_BRK equ 12
  117. SYS_RT_SIGACTION    equ 13
  118. SYS_RT_SIGPROCMASK  equ 14
  119. SYS_RT_SIGRETURN    equ 15
  120. SYS_IOCTL   equ 16
  121. SYS_PREAD64 equ 17
  122. SYS_PWRITE64    equ 18
  123. SYS_READV   equ 19
  124. SYS_WRITEV  equ 20
  125. SYS_ACCESS  equ 21
  126. SYS_PIPE    equ 22
  127. SYS_SELECT  equ 23
  128. SYS_SCHED_YIELD equ 24
  129. SYS_MREMAP  equ 25
  130. SYS_MSYNC   equ 26
  131. SYS_MINCORE equ 27
  132. SYS_MADVISE equ 28
  133. SYS_SHMGET  equ 29
  134. SYS_SHMAT   equ 30
  135. SYS_SHMCTL  equ 31
  136. SYS_DUP equ 32
  137. SYS_DUP2    equ 33
  138. SYS_PAUSE   equ 34
  139. SYS_NANOSLEEP   equ 35
  140. SYS_GETITIMER   equ 36
  141. SYS_ALARM   equ 37
  142. SYS_SETITIMER   equ 38
  143. SYS_GETPID  equ 39
  144. SYS_SENDFILE    equ 40
  145. SYS_SOCKET  equ 41
  146. SYS_CONNECT equ 42
  147. SYS_ACCEPT  equ 43
  148. SYS_SENDTO  equ 44
  149. SYS_RECVFROM    equ 45
  150. SYS_SENDMSG equ 46
  151. SYS_RECVMSG equ 47
  152. SYS_SHUTDOWN    equ 48
  153. SYS_BIND    equ 49
  154. SYS_LISTEN  equ 50
  155. SYS_GETSOCKNAME equ 51
  156. SYS_GETPEERNAME equ 52
  157. SYS_SOCKETPAIR  equ 53
  158. SYS_SETSOCKOPT  equ 54
  159. SYS_GETSOCKOPT  equ 55
  160. SYS_CLONE   equ 56
  161. SYS_FORK    equ 57
  162. SYS_VFORK   equ 58
  163. SYS_EXECVE  equ 59
  164. SYS_EXIT    equ 60
  165. SYS_WAIT4   equ 61
  166. SYS_KILL    equ 62
  167. SYS_UNAME   equ 63
  168. SYS_SEMGET  equ 64
  169. SYS_SEMOP   equ 65
  170. SYS_SEMCTL  equ 66
  171. SYS_SHMDT   equ 67
  172. SYS_MSGGET  equ 68
  173. SYS_MSGSND  equ 69
  174. SYS_MSGRCV  equ 70
  175. SYS_MSGCTL  equ 71
  176. SYS_FCNTL   equ 72
  177. SYS_FLOCK   equ 73
  178. SYS_FSYNC   equ 74
  179. SYS_FDATASYNC   equ 75
  180. SYS_TRUNCATE    equ 76
  181. SYS_FTRUNCATE   equ 77
  182. SYS_GETDENTS    equ 78
  183. SYS_GETCWD  equ 79
  184. SYS_CHDIR   equ 80
  185. SYS_FCHDIR  equ 81
  186. SYS_RENAME  equ 82
  187. SYS_MKDIR   equ 83
  188. SYS_RMDIR   equ 84
  189. SYS_CREAT   equ 85
  190. SYS_LINK    equ 86
  191. SYS_UNLINK  equ 87
  192. SYS_SYMLINK equ 88
  193. SYS_READLINK    equ 89
  194. SYS_CHMOD   equ 90
  195. SYS_FCHMOD  equ 91
  196. SYS_CHOWN   equ 92
  197. SYS_FCHOWN  equ 93
  198. SYS_LCHOWN  equ 94
  199. SYS_UMASK   equ 95
  200. SYS_GETTIMEOFDAY    equ 96
  201. SYS_GETRLIMIT   equ 97
  202. SYS_GETRUSAGE   equ 98
  203. SYS_SYSINFO equ 99
  204. SYS_TIMES   equ 100
  205. SYS_PTRACE  equ 101
  206. SYS_GETUID  equ 102
  207. SYS_SYSLOG  equ 103
  208. SYS_GETGID  equ 104
  209. SYS_SETUID  equ 105
  210. SYS_SETGID  equ 106
  211. SYS_GETEUID equ 107
  212. SYS_GETEGID equ 108
  213. SYS_SETPGID equ 109
  214. SYS_GETPPID equ 110
  215. SYS_GETPGRP equ 111
  216. SYS_SETSID  equ 112
  217. SYS_SETREUID    equ 113
  218. SYS_SETREGID    equ 114
  219. SYS_GETGROUPS   equ 115
  220. SYS_SETGROUPS   equ 116
  221. SYS_SETRESUID   equ 117
  222. SYS_GETRESUID   equ 118
  223. SYS_SETRESGID   equ 119
  224. SYS_GETRESGID   equ 120
  225. SYS_GETPGID equ 121
  226. SYS_SETFSUID    equ 122
  227. SYS_SETFSGID    equ 123
  228. SYS_GETSID  equ 124
  229. SYS_CAPGET  equ 125
  230. SYS_CAPSET  equ 126
  231. SYS_RT_SIGPENDING   equ 127
  232. SYS_RT_SIGTIMEDWAIT equ 128
  233. SYS_RT_SIGQUEUEINFO equ 129
  234. SYS_RT_SIGSUSPEND   equ 130
  235. SYS_SIGALTSTACK equ 131
  236. SYS_UTIME   equ 132
  237. SYS_MKNOD   equ 133
  238. SYS_USELIB  equ 134
  239. SYS_PERSONALITY equ 135
  240. SYS_USTAT   equ 136
  241. SYS_STATFS  equ 137
  242. SYS_FSTATFS equ 138
  243. SYS_SYSFS   equ 139
  244. SYS_GETPRIORITY equ 140
  245. SYS_SETPRIORITY equ 141
  246. SYS_SCHED_SETPARAM  equ 142
  247. SYS_SCHED_GETPARAM  equ 143
  248. SYS_SCHED_SETSCHEDULER  equ 144
  249. SYS_SCHED_GETSCHEDULER  equ 145
  250. SYS_SCHED_GET_PRIORITY_MAX  equ 146
  251. SYS_SCHED_GET_PRIORITY_MIN  equ 147
  252. SYS_SCHED_RR_GET_INTERVAL   equ 148
  253. SYS_MLOCK   equ 149
  254. SYS_MUNLOCK equ 150
  255. SYS_MLOCKALL    equ 151
  256. SYS_MUNLOCKALL  equ 152
  257. SYS_VHANGUP equ 153
  258. SYS_MODIFY_LDT  equ 154
  259. SYS_PIVOT_ROOT  equ 155
  260. SYS__SYSCTL equ 156
  261. SYS_PRCTL   equ 157
  262. SYS_ARCH_PRCTL  equ 158
  263. SYS_ADJTIMEX    equ 159
  264. SYS_SETRLIMIT   equ 160
  265. SYS_CHROOT  equ 161
  266. SYS_SYNC    equ 162
  267. SYS_ACCT    equ 163
  268. SYS_SETTIMEOFDAY    equ 164
  269. SYS_MOUNT   equ 165
  270. SYS_UMOUNT2 equ 166
  271. SYS_SWAPON  equ 167
  272. SYS_SWAPOFF equ 168
  273. SYS_REBOOT  equ 169
  274. SYS_SETHOSTNAME equ 170
  275. SYS_SETDOMAINNAME   equ 171
  276. SYS_IOPL    equ 172
  277. SYS_IOPERM  equ 173
  278. SYS_CREATE_MODULE   equ 174
  279. SYS_INIT_MODULE equ 175
  280. SYS_DELETE_MODULE   equ 176
  281. SYS_GET_KERNEL_SYMS equ 177
  282. SYS_QUERY_MODULE    equ 178
  283. SYS_QUOTACTL    equ 179
  284. SYS_NFSSERVCTL  equ 180
  285. SYS_GETPMSG equ 181
  286. SYS_PUTPMSG equ 182
  287. SYS_AFS_SYSCALL equ 183
  288. SYS_TUXCALL equ 184
  289. SYS_SECURITY    equ 185
  290. SYS_GETTID  equ 186
  291. SYS_READAHEAD   equ 187
  292. SYS_SETXATTR    equ 188
  293. SYS_LSETXATTR   equ 189
  294. SYS_FSETXATTR   equ 190
  295. SYS_GETXATTR    equ 191
  296. SYS_LGETXATTR   equ 192
  297. SYS_FGETXATTR   equ 193
  298. SYS_LISTXATTR   equ 194
  299. SYS_LLISTXATTR  equ 195
  300. SYS_FLISTXATTR  equ 196
  301. SYS_REMOVEXATTR equ 197
  302. SYS_LREMOVEXATTR    equ 198
  303. SYS_FREMOVEXATTR    equ 199
  304. SYS_TKILL   equ 200
  305. SYS_TIME    equ 201
  306. SYS_FUTEX   equ 202
  307. SYS_SCHED_SETAFFINITY   equ 203
  308. SYS_SCHED_GETAFFINITY   equ 204
  309. SYS_SET_THREAD_AREA equ 205
  310. SYS_IO_SETUP    equ 206
  311. SYS_IO_DESTROY  equ 207
  312. SYS_IO_GETEVENTS    equ 208
  313. SYS_IO_SUBMIT   equ 209
  314. SYS_IO_CANCEL   equ 210
  315. SYS_GET_THREAD_AREA equ 211
  316. SYS_LOOKUP_DCOOKIE  equ 212
  317. SYS_EPOLL_CREATE    equ 213
  318. SYS_EPOLL_CTL_OLD   equ 214
  319. SYS_EPOLL_WAIT_OLD  equ 215
  320. SYS_REMAP_FILE_PAGES    equ 216
  321. SYS_GETDENTS64  equ 217
  322. SYS_SET_TID_ADDRESS equ 218
  323. SYS_RESTART_SYSCALL equ 219
  324. SYS_SEMTIMEDOP  equ 220
  325. SYS_FADVISE64   equ 221
  326. SYS_TIMER_CREATE    equ 222
  327. SYS_TIMER_SETTIME   equ 223
  328. SYS_TIMER_GETTIME   equ 224
  329. SYS_TIMER_GETOVERRUN    equ 225
  330. SYS_TIMER_DELETE    equ 226
  331. SYS_CLOCK_SETTIME   equ 227
  332. SYS_CLOCK_GETTIME   equ 228
  333. SYS_CLOCK_GETRES    equ 229
  334. SYS_CLOCK_NANOSLEEP equ 230
  335. SYS_EXIT_GROUP  equ 231
  336. SYS_EPOLL_WAIT  equ 232
  337. SYS_EPOLL_CTL   equ 233
  338. SYS_TGKILL  equ 234
  339. SYS_UTIMES  equ 235
  340. SYS_VSERVER equ 236
  341. SYS_MBIND   equ 237
  342. SYS_SET_MEMPOLICY   equ 238
  343. SYS_GET_MEMPOLICY   equ 239
  344. SYS_MQ_OPEN equ 240
  345. SYS_MQ_UNLINK   equ 241
  346. SYS_MQ_TIMEDSEND    equ 242
  347. SYS_MQ_TIMEDRECEIVE equ 243
  348. SYS_MQ_NOTIFY   equ 244
  349. SYS_MQ_GETSETATTR   equ 245
  350. SYS_KEXEC_LOAD  equ 246
  351. SYS_WAITID  equ 247
  352. SYS_ADD_KEY equ 248
  353. SYS_REQUEST_KEY equ 249
  354. SYS_KEYCTL  equ 250
  355. SYS_IOPRIO_SET  equ 251
  356. SYS_IOPRIO_GET  equ 252
  357. SYS_INOTIFY_INIT    equ 253
  358. SYS_INOTIFY_ADD_WATCH   equ 254
  359. SYS_INOTIFY_RM_WATCH    equ 255
  360. SYS_MIGRATE_PAGES   equ 256
  361. SYS_OPENAT  equ 257
  362. SYS_MKDIRAT equ 258
  363. SYS_MKNODAT equ 259
  364. SYS_FCHOWNAT    equ 260
  365. SYS_FUTIMESAT   equ 261
  366. SYS_NEWFSTATAT  equ 262
  367. SYS_UNLINKAT    equ 263
  368. SYS_RENAMEAT    equ 264
  369. SYS_LINKAT  equ 265
  370. SYS_SYMLINKAT   equ 266
  371. SYS_READLINKAT  equ 267
  372. SYS_FCHMODAT    equ 268
  373. SYS_FACCESSAT   equ 269
  374. SYS_PSELECT6    equ 270
  375. SYS_PPOLL   equ 271
  376. SYS_UNSHARE equ 272
  377. SYS_SET_ROBUST_LIST equ 273
  378. SYS_GET_ROBUST_LIST equ 274
  379. SYS_SPLICE  equ 275
  380. SYS_TEE equ 276
  381. SYS_SYNC_FILE_RANGE equ 277
  382. SYS_VMSPLICE    equ 278
  383. SYS_MOVE_PAGES  equ 279
  384. SYS_UTIMENSAT   equ 280
  385. SYS_EPOLL_PWAIT equ 281
  386. SYS_SIGNALFD    equ 282
  387. SYS_TIMERFD_CREATE  equ 283
  388. SYS_EVENTFD equ 284
  389. SYS_FALLOCATE   equ 285
  390. SYS_TIMERFD_SETTIME equ 286
  391. SYS_TIMERFD_GETTIME equ 287
  392. SYS_ACCEPT4 equ 288
  393. SYS_SIGNALFD4   equ 289
  394. SYS_EVENTFD2    equ 290
  395. SYS_EPOLL_CREATE1   equ 291
  396. SYS_DUP3    equ 292
  397. SYS_PIPE2   equ 293
  398. SYS_INOTIFY_INIT1   equ 294
  399. SYS_PREADV  equ 295
  400. SYS_PWRITEV equ 296
  401. SYS_RT_TGSIGQUEUEINFO   equ 297
  402. SYS_PERF_EVENT_OPEN equ 298
  403. SYS_RECVMMSG    equ 299
  404. SYS_FANOTIFY_INIT   equ 300
  405. SYS_FANOTIFY_MARK   equ 301
  406. SYS_PRLIMIT64   equ 302
  407. SYS_NAME_TO_HANDLE_AT   equ 303
  408. SYS_OPEN_BY_HANDLE_AT   equ 304
  409. SYS_CLOCK_ADJTIME   equ 305
  410. SYS_SYNCFS  equ 306
  411. SYS_SENDMMSG    equ 307
  412. SYS_SETNS   equ 308
  413. SYS_GETCPU  equ 309
  414. SYS_PROCESS_VM_READV    equ 310
  415. SYS_PROCESS_VM_WRITEV   equ 311
  416. SYS_KCMP    equ 312
  417. SYS_FINIT_MODULE    equ 313
  418. SYS_SCHED_SETATTR   equ 314
  419. SYS_SCHED_GETATTR   equ 315
  420. SYS_RENAMEAT2   equ 316
  421. SYS_SECCOMP equ 317
  422. SYS_GETRANDOM   equ 318
  423. SYS_MEMFD_CREATE    equ 319
  424. SYS_KEXEC_FILE_LOAD equ 320
  425. SYS_BPF equ 321
  426. STUB_EXECVEAT   equ 322
  427. USERFAULTFD equ 323
  428. MEMBARRIER  equ 324
  429. MLOCK2  equ 325
  430. COPY_FILE_RANGE equ 326
  431. PREADV2 equ 327
  432. PWRITEV2    equ 328
Add Comment
Please, Sign In to add comment