Come si elevano i diritti utente per l'accesso tramite l'API di autorizzazione in modo che sia possibile utilizzare mach_inject?Elevazione dei diritti d'uso mach_inject
6
A
risposta
5
Non è necessario essere root per utilizzare mach_inject; invece, devi firmare il tuo codice. Solo a scopo di test (e in 10.4/10.5) puoi anche rendere il tuo procmod setgid di applicazione.
Vedere TN2206 per ulteriori informazioni.
3
vecchia questione, ma la risposta non corretta:
A meno che non si possiede il pid/attività, è in realtà ha bisogno di essere o root o essere un membro di procmod. In OS X, questo ha poco a che fare con la firma del codice. Mach_inject/Mach_star usato da Mach trap task_for_pid(), che richiede i privilegi di cui sopra. In iOS, hai anche bisogno dell'autorizzazione corrispondente (task_for_pid-allow), che è il posto in cui la firma del codice sarebbe utile (usando ldid per l'autofirmazione).