jailbroken iOSデバイスを対象とするアプリケーションを開発しています。これは、いくつかのタスクの自動化を支援することです。/private/var/mobile/Libraryに単純なテキストファイル(実際は.luaファイル)を作成する必要があります。明らかに、デバッガはアクセス拒否例外をスローします。テストの目的で、今のところ「CreateFile」という名前のアプリケーションがあります。iOSアプリケーションのルート特権
私は、ルートアクセス権を取得するには、次の手順を試みている:
- は、通常、アプリケーションをビルドします。
- アプリケーションバンドルに実行可能ファイルのコピーを作成します。
を開き、元の実行ファイルと、このスクリプトとその内容を置き換えます
#!/bin/bash dir=$(dirname "$0") exec "${dir}"/CreateFile "[email protected]"
が直接アプリはiOSの上で失敗したルートを起動します。したがって、アプリケーションのメイン実行可能ファイルを、ルート実行可能ファイルを起動するスクリプトで置き換えます。
端末では、アプリのバンドルに移動します。
chmod 0775
元の実行可能ファイルとchmod 6775
コピーされた実行可能ファイル。- アプリケーションバンドルを/アプリケーションにデバイスにコピーします。 SpringBoardを再起動してください。アプリが起動しない場合は、デバイス上で手順5 & 6を繰り返します。
この方法を使用すると、アプリケーションを/ Applicationsフォルダに正常にインストールして起動することができますが、アプリが書き込み操作を試みると直ちにクラッシュするため、私はまだルート権限を持っていないことが予想されます。
誰かがこのような状況に少しでも光を当てることができれば、私は非常に感謝しています!
編集:
@crekerのアドバイスでいくつかの追加テストを行いましたか?私がアプリケーションのドキュメントのように許可されたディレクトリにファイルを作成しようとすると、それは何の問題もなく問題なく作成されます。このため、ファイルの作成がクラッシュの原因ではなく、アクセスできないフォルダパスのみであることは確かです。
また、@crekerのアドバイスでは、起動スクリプトを使わずにアプリケーションを/ Applicationsにインストールしようとしました。アプリはこのように開いたときにクラッシュします。インストール後にアプリケーション実行可能ファイルを775にchmodすると、アプリケーションが開かれますが、ファイルを作成しようとするとクラッシュします。
私はクラッシュレポーターからsyslogを調べました。ここでクラッシュラインは次のとおりです。
System.UnauthorizedAccessException: Access to the path "/private/var/mobile/Library/test.txt" is denied
はまだ問題を解決することを望んで、任意のアイデアは大歓迎です!
上のiOSでこれを利用するために起動スクリプトが必要になります
それを活用するために、次の'/ var/mobile/Library'にファイルを作成するためのルート権限は必要ありません。 '/ var/mobile'は' mobile'ユーザのホームディレクトリです。サンドボックスルールによって制限されない限り、そのディレクトリには完全にアクセスできます。 – creker
次に、そのディレクトリに書き込もうとすると、アクセス拒否違反が発生するため、サンドボックスルールによって制限される必要があります。それを回避するための措置は違いますか? – Kikootwo
いいえ、あなたは '/ Applications'ディレクトリにいなければなりません。あなたは起動スクリプトも必要ありません。アプリが別の理由でクラッシュする可能性があります。 – creker