Objective c 有没有办法在系统范围内注入OSX系统框架?

Objective c 有没有办法在系统范围内注入OSX系统框架?,objective-c,macos,hook,code-injection,objective-c-runtime,Objective C,Macos,Hook,Code Injection,Objective C Runtime,当应用程序(包括系统应用程序/服务器)调用system Framework(CoreServices.Framework)时,我需要得到通知。我不确定代码注入是否能在系统范围的框架上工作 是否可以用我自己的副本替换系统框架,然后将消息转发到真实的系统框架?您可以使用环境变量,但这仅适用于您启动的应用程序,而不适用于系统范围。更多信息 您可以使用重写系统函数,但它需要根权限或procmod组。MacHack 2003年发布了mach_超控。快速看一眼,它看起来就像一个函数调用一样简单 mach_o

当应用程序(包括系统应用程序/服务器)调用system Framework(
CoreServices.Framework
)时,我需要得到通知。我不确定代码注入是否能在系统范围的框架上工作

是否可以用我自己的副本替换系统框架,然后将消息转发到真实的系统框架?

您可以使用环境变量,但这仅适用于您启动的应用程序,而不适用于系统范围。更多信息

您可以使用重写系统函数,但它需要根权限或procmod组。MacHack 2003年发布了mach_超控。快速看一眼,它看起来就像一个函数调用一样简单

mach_override_ptr(&orginalFunction, &overrideFunction, NULL);
请注意,对于非调试应用程序,强烈反对系统范围的重写


.

在跟踪DTrace内置的系统级调用方面,现有的工作很多。您可以在不注入任何东西的情况下在系统范围内做您想要做的事情。