2015-10-05 83 views
2

我正在使用mach_inject做一些代碼注入工作,但是當我升級到最新的OS X 10.11時,它停止工作,並且我跟蹤它是由task_for_pid失敗執行導致的,返回值爲5. 安迪想法如何解決這個問題? 謝謝task_for_pid在OS X上停止工作10.11

+0

檢查'/ etc/authorization'以確保您的應用程序被允許使用'task_for_pid'。其他相關的關鍵字:'taskgated'。 – icktoofay

+1

@icktoofay蘋果已貶值/ etc的東西,我男人taskgated,根據男人的信息應該沒問題,如果我設置SecTaskAccess並妥善簽署代碼,不幸的是,沒有運氣。我覺得蘋果已經改變了一些東西,但沒有及時更改文件。任何方式,非常感謝,我從這個信息瞭解了很多:) – hustyjfssss

回答

2

10.11的latest features之一是系統完整性保護,又稱'無根'。

如前所述蘋果: -

系統完整性保護

適用於每一個正在運行的進程,包括特權代碼和代碼運行了沙箱的新的安全策略。該策略將額外的保護擴展到磁盤上和運行時的組件,只允許系統安裝程序和軟件更新修改系統二進制文件。 不再允許對系統二進制文件的代碼注入和運行時附件。

所以你有它,代碼注入不再可能*。您可以disable this feature,,但要這樣做需要啓動到恢復模式並使用csrutil命令。

*假設你沒有內核擴展!

相關問題