2016-08-08 4 views
0

Androidモバイルアプリケーションのセキュリティテストを実行する必要があります。rootアクセス権を持たないAndroidエミュレータの起動/作成

  1. デバイスがルートされている場合は、実行しないでください。
  2. ルーター以外のデバイスでは正常に動作するはずです。

私はパート1を問題なくテストし、期待どおりに動作することを確認しました。

しかし、ルートアクセスで起動しないAVDマネージャを使用してエミュレータを作成することはできません。

- 起動時にエミュレータインスタンスを非ルートにするコマンドラインメソッドがありますか? - インストールされたアプリケーションへのアクセス許可を減らすために、adbシェルコマンド(または他のコマンドライン呼び出し)を送信する方法はありますか?

ありがとうございます!

@Fredの編集。 シェルを開いて、テスト対象のアプリケーションのユーザーID(uid)に変更しました。イメージには "adb shell su u0_a53"というコマンドが表示され、次のプロンプトには返されたシェルとして "u0_a53 @ generic_x86_64"というユーザーが含まれ、ルート以外のアクセスを示す "$"が表示されていることに注意してください。ただし、エミュレータでテスト中のアプリケーションを開くと、アプリケーションはそのデバイスがルートされていることを検出します。私は何が欠けていますか?

See attached image - click here

答えて

0

はい、方向については、このように問題の答えを参照、非ルートにスーパーユーザーを変更するにはSUを使用しての方法があります:それは結局のところ

https://android.stackexchange.com/questions/60599/how-to-get-non-root-access-on-emulators

+0

私はそのリンクを見ました。上記の答えは、ルート以外のコマンドを実行することを示しています。それはエミュレータ自体が根づいていない状態になるように実際修正するわけではありません。これは私の問題を解決しません。 root以外のシェルを実行する必要はありません。私はエミュレータが非ルート状態で起動する必要があります。 ありがとうございます。 –

+0

シェーンを変更してSUを非ルートとして実行すると、それは何を意味すると思いますか?そのようにすることはできませんが、それを自動化することはありませんが、それは唯一の方法です。エミュレータが起動すると、adbコマンドラインでSUコマンドシーケンスを実行し、アプリケーションを起動するとエミュレータ自体が非root状態でアプリを起動する根の状態。 –

+0

最初の質問で作成した編集を参照してください。私が見ているものの印刷画面を添付しました。私は、シェルがアプリケーションのユーザーIDを使用するように変更しました。しかし、私がアプリケーションを開くと、エミュレータがルートされ、メッセージがポップされていることが検出されます。 私はここで何が欠けていますか? 私はこの質問を投稿する前にこれを試しました。もし私がこれを間違っているとすれば、代わりに何をすべきか説明できますか? –

0

は、私の質問根本的に欠陥がありました。私が達成しようとしている環境は、電話が 'リリース'モードであるかどうかを確認するセキュリティテストのチェックの一部としてエミュレータで作成することはできませんでした。他のいくつかのチームと協議した後、私はこのセキュリティ制限をテストするために物理的な電話機を入手することに決めました。

関連する問題