Frage

ich über das Design eines iPhone App denke Ich mag würde zu schaffen. Ein mögliches Problem ist, dass diese Anwendung wird als root ausführen müssen (für den Zugriff auf bestimmte Netzwerk-Ports). In einem typischen UNIX-App, würde ich nur die App mit setuid laufen, aber ich frage mich, ob das möglich ist mit einem iPhone-App.

Ich habe diese Frage in Apples Forum lesen, die entmutigend ist:

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

Ich verstehe, dass Apple beschränken will, was ein Programm tun kann, aber es gibt viele gute, legitime Gründe für einen Benutzer ein Programm mit erweiterten Rechten auszuführen. Ich versuche nicht, hier ein Hacker-Tool zu erstellen.

Ich bin sicher, dass ich um diesen auf einem Gefängnis gebrochen iPhone bekommen könnte, aber das ist nicht das, was ich bin nach. Gibt es eine Möglichkeit, eine App mit erhöhten Rechten auf einem ungebrochenen iPhone zu laufen?

(BTW, gibt es keine Notwendigkeit, mich über die NDA zu warnen.)

War es hilfreich?

Lösung

Abschnitt 3.3.4 der iPhone SDK Vereinbarung zeigt, dass Sie nicht außerhalb der Sandbox arbeiten müssen.

Da von Apple etwas willkürlich gewesen, auf denen Anwendungen erlauben sie , Sie sollten auf jeden Fall doppelt überprüfen mit ihnen vor Sie anfangen zu entwickeln.

Im Vergleich zu 2.0.x, die Sandbox-Beschränkungen haben zugenommen tatsächlich in 2.1 ; Sie können nicht einmal mehr von einer anderen Anwendung Sandbox lesen. Also, auch wenn es zur Zeit ist möglich App-Berechtigungen zu erhöhen, ist es sehr wahrscheinlich nicht in einer zukünftigen Version sein wird.

Andere Tipps

Die einzigen Optionen, die Sie haben, ist

  1. Führen Sie die Anwendung als root auf dem iPhone

  2. Stellen Sie die Anwendungen Setuid-Bit und Besitzer root.

Ich kann nicht von ihnen wurden gesegnet von Apple sehen.

Ich denke, es hängt davon ab, was Sie mit den Rechten tun wollen, wenn Sie sich Glück haben könnte sein, mehr feinkörniges Privileg zur Verfügung, aber afaik Sie haben einen Port über 1024 wählen.

Ist ein Bit nicht aus, wenn Sie diese auf Ihrem normalen Desktop-Computer tun kann. Das iPhone ist kein normaler Desktop-Computer.

Im Gegensatz zu einem Desktop-Computer, die nur Art und Weise eine Anwendung auf dem iPhone ohne Jailbreak zu bekommen, ist es aus dem App Store zu bekommen. Die nur Art und Weise im App Store zu bekommen, ist Apples Regeln zu folgen, und Apples Regeln klar „keine privilege escalation“ umfasst „nicht die Sandbox entkommen“, und „nein Zugriff auf Netzwerkanschlüsse außerhalb des bestehenden, sofern APIs“.

Was Sie tun möchten, ist nicht möglich .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top