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