如何在 aix 上以不同的名称重新导出原始系统调用?

发布于 2024-07-21 05:17:59 字数 33 浏览 6 评论 0原文

如何在 aix 上以不同的名称重新导出原始系统调用?

How do you re-export a original system call with a different name on aix?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

掩于岁月 2024-07-28 05:17:59

系统调用扩展是 AIX 的一个独特功能 - 它明确允许您编写新的内核扩展来替换旧的原始系统调用,以便从此以后(从加载内核扩展时起)所有系统调用都使用“旧”名称,将调用新的。 为了保留对旧系统调用的引用,因此有必要在用新系统调用覆盖它之前先记住地址 - 这就是下面的文章“使用两个内核模块”的意思:

http://qasim.zaidi.me/2009/05/overriding-system-call-in- aix.html

更多特定于 AIX 的信息:

http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.kernelext/doc /kernextc/kernex_binding.htm

System call extension is a unique feature of AIX - it explicitly allow you to write a new kernel extension to replace the old original system call, so that henceforth (from the time the kernel extension is loaded) all system call to the "old" name, will call the new one instead. To retain reference to the old system call, therefore it is necessary to remember the address first before overwriting it with the new system call - which is meant by the following article "using two kernel module":

http://qasim.zaidi.me/2009/05/overriding-system-call-in-aix.html

More AIX-specific info here:

http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.kernelext/doc/kernextc/kernex_binding.htm

因为看清所以看轻 2024-07-28 05:17:59

简单的作弊方法就是#define 它。

如果这不起作用,请查看 LD_PRELOAD 的示例,例如:
http://neworder.box.sk/newsread.php?newsid=13857

The simple cheat method is to just #define it.

If that can't work then look at LD_PRELOAD for examples, eg:
http://neworder.box.sk/newsread.php?newsid=13857

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文