伙计,你的系统调用在哪里?

主要观点:OpenBSD 内核较老,程序需告知内核系统调用位置,通过一个简单示例展示在非 C 语言环境下如何编写程序并告知内核系统调用信息,包括编写简单的 hello 程序、添加告知内核是真实程序的代码、创建系统调用使用表以及编译运行程序等步骤。
关键信息:OpenBSD 内核年龄大且不喜欢惊喜;用非 C 语言编写程序,避免链接 libc;start 函数开始执行,w 函数打印消息,x 函数退出;通过特定的汇编代码告知内核是真实程序;创建包含系统调用信息的结构体数组;编译和运行程序的命令及输出。
重要细节:write 系统调用为 #4,exit 系统调用为 #1,hex 偏移量需自行计算;提到可参考the manual;给出更健壮的演示链接;发布时间及标签等信息。

阅读 9
0 条评论