0

私のネイティブ プロセスは、Android デバイスのルートで実行されます。ルートを与えるために別のプロセスの UID を変更することは可能ですか?
その理由は、ルート以外のプロセスではアクセスできない Android の「機能」にアクセスできるようにするためです。

4

3 に答える 3

2

ルート化された電話を使用している場合は、(通常) を使用して明示的にプロセスを実行できます/system/xbin/su。ただし、すでに実行中のプログラムの uid を変更することはできません。(理論的には、カーネル メモリを突いて、保存されているさまざまな uid をすべて変更することはできますが、これは本当に悪い考えです。なぜなら、変更しているものをロックすることができず、変更または移動するとカーネル パニックが発生する可能性があるためです。)

于 2011-03-29T18:31:02.627 に答える
1

exec bin(A)ルートとして実行し、次 のことを行う必要があります。

  1. uidを変更したいプロセスにアタッチします
  2. プロセスの状態を取得して保存します
  3. setuidシステムコールリモートを呼び出す
  4. 保存された状態を使用して、プロセスを切り離します。

上記のすべては、ptraceによって実行できます。
詳細については、こちらをご覧ください:
http ://www.linuxjournal.com/node/6210/print
http://www.phrack.org/issues.html?issue=59&id=12&mode=txt

于 2012-09-21T11:08:49.540 に答える
1

いいえ。別のアプリがルート アクセスを必要とする場合は、それ自体でアクセス許可を取得する必要があります。

于 2011-03-29T18:29:33.313 に答える