我有一个可以在Windows上运行的软件。该软件包含两个组件:在内核模式下工作的文件系统微型过滤器驱动程序和与驱动程序对话的用户模式组件。驱动程序接收有关IO中断请求的通知,例如IRP_MJ_READ。可以在github上找到执行此操作的示例应用程序。这适用于Windows支持的任何用户和大多数文件系统。
我需要为OS X开发类似的软件(仅限台式机和服务器)。我看过的东西:
FSEvent内核队列系统调用表API挂钩/劫持探针幻想我的保留意见是:FSEvents的性能可能不是很高,因为我需要监视根/文件夹和任何已挂载的设备。我对内核队列和系统调用的了解非常有限,API劫持可能使移植到不同的OS X版本非常困难,并且可能导致与AV或OS保护(例如PaX强化)冲突。
问题:如何获得通知,/说明OS X上的任何用户都正在读取根目录下(递归)文件夹中的文件?