2
我正在使用mach_inject做一些代碼注入工作,但是當我升級到最新的OS X 10.11時,它停止工作,並且我跟蹤它是由task_for_pid失敗執行導致的,返回值爲5. 安迪想法如何解決這個問題? 謝謝task_for_pid在OS X上停止工作10.11
我正在使用mach_inject做一些代碼注入工作,但是當我升級到最新的OS X 10.11時,它停止工作,並且我跟蹤它是由task_for_pid失敗執行導致的,返回值爲5. 安迪想法如何解決這個問題? 謝謝task_for_pid在OS X上停止工作10.11
10.11的latest features之一是系統完整性保護,又稱'無根'。
如前所述蘋果: -
系統完整性保護
適用於每一個正在運行的進程,包括特權代碼和代碼運行了沙箱的新的安全策略。該策略將額外的保護擴展到磁盤上和運行時的組件,只允許系統安裝程序和軟件更新修改系統二進制文件。 不再允許對系統二進制文件的代碼注入和運行時附件。
所以你有它,代碼注入不再可能*。您可以disable this feature,,但要這樣做需要啓動到恢復模式並使用csrutil命令。
*假設你沒有內核擴展!
檢查'/ etc/authorization'以確保您的應用程序被允許使用'task_for_pid'。其他相關的關鍵字:'taskgated'。 – icktoofay
@icktoofay蘋果已貶值/ etc的東西,我男人taskgated,根據男人的信息應該沒問題,如果我設置SecTaskAccess並妥善簽署代碼,不幸的是,沒有運氣。我覺得蘋果已經改變了一些東西,但沒有及時更改文件。任何方式,非常感謝,我從這個信息瞭解了很多:) – hustyjfssss