Повышение прав на использование mach_inject - PullRequest
6 голосов
/ 11 августа 2009

Как повысить права пользователя root с помощью API авторизации, чтобы можно было использовать mach_inject?

Ответы [ 2 ]

5 голосов
/ 12 августа 2009

Вам не нужно быть пользователем root, чтобы использовать mach_inject; вместо этого вам нужно подписать свой код. Только для целей тестирования (и в 10.4 / 10.5) вы также можете сделать ваше приложение setgid procmod.

См. TN2206 для получения дополнительной информации.

4 голосов
/ 26 августа 2012

Старый вопрос, но неправильный ответ:

Если у вас нет pid / задачи, вам действительно нужно, чтобы ЛИБО был root или был членом procmod. В OS X это имеет мало общего с подписанием кода. Mach_inject / Mach_star использовать Mach trap task_for_pid (), который требует вышеуказанных привилегий. В iOS вам также необходимо соответствующее право (task_for_pid-allow), в котором подпись кода пригодится (использование ldid для самоподписания).

...