栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我们可以在内核空间中调用系统调用吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我们可以在内核空间中调用系统调用吗?

实际上,与普遍看法(以及此处的一些答案)相反,答案是可以的,但是取决于哪个操作系统:

  • 在Linux中,如果可以找到它们的内核导出,则可以调用几乎所有系统调用(

    cat /proc/kallsysms | grep sys_
    以示例为例)。通过设置数据段(KERNEL_DS),在大多数系统调用(接受用户模式*的系统调用)中,都有一个较小的“技巧”可以绕开保护。不完全推荐这样做,但是如果您需要从内核(例如SELinux)访问文件,那当然是有道理的。

  • 在Windows中,内核中的大多数Nt 调用也可以作为Zw 调用使用-以“ dumpbin / exports C: windows system32 ntoskrnl.exe | findstr Zw(或Nt)”为例。

  • 在Mac OS X中,尽管有一些聪明的技巧可以解决,但从技术上讲,它是不允许的。

尽管系统调用确实是用户模式和内核之间的接口,但令人惊讶的是,在很多情况下,即使是具有生产价值的代码也可以这样做-但要仔细观察警告。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/408861.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号