回答:
Linux(またはUnixライクなシステム)のルートは、ユーザーID 0のユーザーです。suプログラム(実際には「スーパーユーザー」ではなく「ユーザーの切り替え」を表します)は、別のプログラムで別のプログラムを起動するプログラムです。開始プログラムよりもユーザーID(デフォルトでは、ユーザーrootであるuid 0)。Androidは従来の/ etc / passwdを使用しませんが、権限の管理にLinuxユーザーIDとグループIDを使用します。
suリクエストをインターセプトしてパスワードを要求したり、他のルールを適用したりする場合は、/ sbin / suを独自のバージョンのsuに置き換える必要があります。別のアプローチは、ここで説明したものです:http://www.koushikdutta.com/2008/11/fixing-su-security-hole-on-modified.htmlそれは、彼らがしたいとき意向を焼成して協力するアプリケーションが必要になりますけれどもユーザーを切り替えます。
Androidセキュリティフレームワークは多かれ少なかれこのようなものです。インストールされた各アプリケーションは独自のユーザーID(インストール時に選択)で実行され、アプリケーションのアクセス許可はユーザーグループとして実装されます。
「passwd」と入力するだけで、Androidデバイスをルート化した後にルートパスワードを変更できますか?
Androidは/ etc / passwdを使用しないため、passwd
プログラムもありません。
ルート化プロセスはどのように機能しますか?「ワンクリックルート」アプリは私の携帯電話に何をしているのですか?
正確なプロセスを自分で確認する必要はありません。おそらく、開発者を応援することをお勧めします。ただし、開発者がsetuid 0を実行できないようにするセキュリティチェックを元に戻すだけです。
そして、開発者ですので、ルート化されたアプリ開発用の隠されたAPI(iOSなど)を見つけるにはどうすればよいですか?
Androidはオープンソースであるため、Androidには本当に隠されたAPIはありません。ただし、未公開または文書化されていないAPIがいくつかあります。Androidのソースコードで参照できます。ただし、これらのAPIはルート開発に関するものではなく、通常、まだ準備が整っていないか、公開開発者にとって役に立たない特定の目的のためにローカライズされている開発中のAPIです(または、Googleはまだその有用性を認識していません) 。これらのAPIの使用は制限されていませんが、これらは公式にサポートされているAPIではないため、将来的には消滅するか、後方互換性が失われる可能性があります。これらのAPIを使用する必要がある場合は、アプリが正常に動作することを確認してください。
開発者ではありませんが、ここで私が理解しているように説明するのが最善です(あなたの質問を理解したと仮定して)。うまく行けばいいのですが...
私が使用したすべての「ルート化された」ROMは、スーパーユーザーアプリケーションのルートアクセスユーザーを管理します。SuperUserアプリケーションは、これらのアクセス許可が付与されたアプリのホワイトリストを管理します。
これはコンソールエミュレータなどでも同じであるため、コンソールアプリケーションへのアクセスを許可します。エミュレータ内でパスワードを入力する必要はありません。
このためにrootパスワードを心配する必要はないと思います。
隠されたAPIに関して-Android OSはそもそもオープンソースであるため、「隠されている」とは思いません。