【发布时间】:2021-03-27 04:55:34
【问题描述】:
在 Mojave 中,open("/dev/rdisk0", O_RDONLY) 将失败,因为系统完整性保护。 现在我正在尝试构建一个用于访问 rdisk0 的内核扩展。 如何实现等效的用户空间 C API(打开/读取)? 还是有其他方法可以访问 /dev/rdisk0 的原始字节?
【问题讨论】:
标签: macos filesystems kernel-extension
在 Mojave 中,open("/dev/rdisk0", O_RDONLY) 将失败,因为系统完整性保护。 现在我正在尝试构建一个用于访问 rdisk0 的内核扩展。 如何实现等效的用户空间 C API(打开/读取)? 还是有其他方法可以访问 /dev/rdisk0 的原始字节?
【问题讨论】:
标签: macos filesystems kernel-extension
由于 Mojave(或者甚至可能来自 High Sierra,不记得了)在用户模式下,无法对磁盘进行原始访问。
您需要使用 vnode.h 中的 vnode_open 和 vn_rdwr 函数
那里有一些 cmets,它们应该可以帮助您放置正确的参数。
【讨论】: