2009-08-11 84 views

回答

5

你不需要root才能使用mach_inject;相反,你需要簽署你的代碼。僅用於測試目的(並在10.4/10.5中),您還可以使您的應用程序setgid procmod。

查看TN2206瞭解更多信息。

3

老問題,但不正確的答案:

除非你自己的PID /任務,你其實需要是超級用戶或者是procmod的成員。在OS X中,這與代碼簽名無關。 Mach_inject/Mach_star使用Mach陷阱task_for_pid(),它需要上述權限。在iOS中,您還需要相應的授權(task_for_pid-allow),這是代碼簽名派上用場的地方(使用ldid進行自簽名)。