我正在尝试为 Mac OS X 编写 kext,它会在任何进程启动时得到通知。
在 Windows 中,您可以通过调用 PsSetLoadImageNotifyRoutine(...) 来执行此操作,并指定将在进程启动时调用的回调。这是记录在案的方式,它适用于从 Win 2k 开始的所有 Windows。
Mac有类似的东西吗?使用 kauth 进程侦听器似乎可以实现这一点,但进程范围从未在 OS X 中实现。
另一种选择是挂钩 SYS_execve 和朋友,但这是未记录且不受支持的方式。我真的不想走这条路。
我不需要任何取消 - 只想在进程启动时收到通知,并获取它的 pid 和路径。