task_for_pid停止在OS X 10.11上运行

时间:2015-10-05 07:27:17

标签: macos code-injection

我正在使用mach_inject来做一些代码注入工作,但是当我升级到最新的OS X 10.11时它停止工作,我追踪它是由task_for_pid执行失败引起的,返回值是5。 安迪想法如何解决这个问题? 感谢

1 个答案:

答案 0 :(得分:2)

10.11的latest features之一是系统完整性保护,又名“无根”。

正如Apple所说: -

  

系统完整性保护

     

适用于每个正在运行的进程的新安全策略,包括特权代码和在沙箱中运行的代码。该策略在磁盘和运行时扩展了对组件的额外保护,仅允许系统安装程序和软件更新修改系统二进制文件。 不再允许对系统二进制文件进行代码注入和运行时附件。

所以你有它,代码注入不再可能*。你可以disable this feature,但是这样做需要启动进入恢复模式并使用csrutil命令。

*假设您没有内核扩展名!