Linux 新增系统调用

本文介绍了如何在32位Kali Linux 5.8.15中添加新的系统调用,包括修改系统调用表、声明服务例程原型、实现服务例程、重新编译内核、编写测试文件和解决遇到的问题。详细步骤和注意事项都有详述。
摘要由CSDN通过智能技术生成

环境说明

32 位 Kali linux-5.8.15

Attention

在开始之前,先注意一个十分重要的地方:注意自己系统的位数,确定是32位还是64位。不同位数的系统调用文件肯定不一样。
这其实是在我实在无解新增的系统调用为何出错后询问老师才意识到的一点o(╥﹏╥)o
Linux系统i386即为32位系统,x86_64为64位系统。
查看系统位数指令:

getconf LONG_BIT

在这里插入图片描述

修改系统调用相关文件

修改系统调用表

系统调用表文件位置为:/home/kali/linux-5.8.15/arch/x86/entry/syscalls/syscall_32.tbl

(如果为64位系统则修改同文件夹下的syscall_64.tbl即可)。

在这里插入图片描述

在这里插入图片描述
在系统调用表中添加进新增的系统调用,自左至右依次为:[编号]+[类型]+[系统调用名称]+[服务例程入口地址]

新增系统调用的编号只需在已有编号的基础上增加即可,注意避开不允许使用的编号(文件中会有注释进行提醒),服务例程入口地址在系统调用名前增加“sys_”前缀即可。

syscall_32.tbl修改如下:

在这里插入图片描述

声明系统调用服务例程原型

系统调用服务例程声明文件位置:home\kali\linux-5.8.15\include\linux\syscalls.h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值