Question

How do you elevate user rights to root using the Authorization API so that it is possible to use mach_inject?

Was it helpful?

Solution

You don't need to be root to use mach_inject; instead, you need to sign your code. For testing purposes only (and in 10.4/10.5) you can also make your application setgid procmod.

See TN2206 for more information.

OTHER TIPS

Old question, but incorrect answer:

Unless you own the pid/task, you actually do need to EITHER be root or be a member of procmod. In OS X, this has little to do with code signing. Mach_inject/Mach_star use by the Mach trap task_for_pid(), which requires the above privileges. In iOS , you also need the corresponding entitlement (task_for_pid-allow), which is where code signing would come in handy (using ldid for self signing).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top