有没有关于通过内核可加载模块向 FreeBSD 添加系统调用的好的(入门级)教程?具体来说,方法的所需形式、从流程中获取信息等。
问问题
1599 次
1 回答
10
我很高兴看到您的教授给您布置了如此实用的作业。我希望我有这样的教授。
无论如何,问题是当您在内核域中工作时,您几乎找不到任何资源。在内核领域工作的人不会记录东西或编写教程。所以,真的很难找到任何“入门级”文件。此外,即使您找到任何此类教程,内核中的内容也会不断变化,文档也不会更新。当我开始时,我必须通过阅读内核代码来学习东西。
另一个重要的事情是 Linux 比任何 UNIX 都具有更多的文档记录。有时您可以阅读 Linux 资料并将这些知识移植到 UNIX。抱怨就够了。现在这里有可能对您有所帮助的资源。
BSD UNIX:
- Dynamic Kernel Linker (KLD) Facility Programming Tutorial有“KLD Syscall Implementation Skeleton”
- 设计 BSD Rootkit:内核黑客简介这将教您另一种使用运行时内核修补(通常木马使用这种方法)来修补系统调用调度程序并创建系统调用的方法。
Linux:
- 向 Linux 内核添加系统调用:分步教程
- 使用 Linux 系统调用的内核命令:探索 Linux 系统调用接口 (SCI),了解如何添加新的系统调用(以及这样做的替代方法)
于 2010-10-09T05:13:23.963 回答