Pregunta

Estoy pensando en el diseño de una aplicación para el iPhone que me gustaría crear.Un posible problema es que esta aplicación se tiene que ejecutar como root (para el acceso a ciertos puertos de red).En un ejemplo típico de UNIX de la aplicación, que acababa de obtener la aplicación para que se ejecute con setuid, pero me pregunto si es posible con una aplicación para el iPhone.

He leído esta pregunta en Apple foro, que es desalentador:

http://discussions.apple.com/thread.jspa?threadID=1664575

Entiendo que Apple quiere limitar lo que un programa puede hacer, pero hay un montón de buenas, razones legítimas para que un usuario pueda ejecutar un programa con privilegios elevados.No estoy tratando de crear un hacker herramienta aquí.

Estoy seguro de que podría conseguir alrededor de esto, en una cárcel roto iPhone, pero eso no es lo que busco.Hay alguna forma de ejecutar una aplicación con privilegios elevados en una ininterrumpida iPhone?

(Por CIERTO, no hay necesidad de advertir que yo acerca de la CND.)

¿Fue útil?

Solución

La sección 3.3.4 de la SDK del iPhone Acuerdo sugiere que usted no debe trabajar fuera de su caja de arena.

Dado que Apple ha sido un tanto arbitraria en la que las aplicaciones que permiten, que sin duda debe de doble verificación con ellos antes de se comienza a desarrollar.

En comparación con 2.0.x, el entorno limitado de restricciones se han incrementado en 2.1;usted no puede ni siquiera leer desde otra aplicación del sandbox.Por lo tanto, incluso si en la actualidad es posible, para elevar su aplicación privilegios, es muy probable que no sea en una versión futura.

Otros consejos

Las únicas opciones que tenemos es

  1. Ejecutar la aplicación como root en el iphone

  2. Establecer las aplicaciones bit setuid y propietario de la raíz.

Yo no puedo ver a ninguno de ellos de ser bendecido por Apple.

Supongo que depende de lo que quieras hacer con los privilegios, si tienes suerte no podría ser más fino de privilegios, pero afaik usted tiene que elegir un puerto superior al 1024.

No importa un poco si se puede hacer esto en su computadora de escritorio.El iPhone no es un equipo de escritorio.

A diferencia de una computadora de escritorio, la sólo manera de conseguir una aplicación en el iPhone sin jailbreak es para hacerlo desde la App Store.El sólo manera de conseguir en la App Store es seguir las reglas de Apple, y las reglas de Apple claramente incluyen "no hay escalada de privilegios", "no escapa de la caja de arena", y "no el acceso a los puertos de red fuera de la existente, a condición de Api".

Lo que quiero hacer es no es posible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top