応援はどのように機能しますか?


23

または、ルーターなしでデバイスをルートするにはどうすればよいですか?

私が見たAndroidデバイスのルート化手順は、通常、次の形式です。

  1. ダウンロード Gingerbreak.apk
  2. Gingerbreakを実行し、「ルートデバイス」をクリックします
  3. Superuser.apkおそらくbusybox他のものと一緒に魔法のようにインストールされていることを観察し、あなたのルーティーな良さを楽しんでください。

私が知りたいのはこれです:発根は実際にどのように起こりますか?Gingerbreakは何をしますか?

私は応援の最終結果を理解しています:

  • su 存在し、働いている
  • Superuser.apk がインストールされ、へのアクセスを制御します su
  • BusyBoxが提供するさまざまなユーティリティがあります(オプション?)

また、Gingerbreakの開始方法の基本的な考え方も理解していると思います。Gingerbreakはローカル権限昇格の脆弱性を悪用し、その新たな力を利用してスーパーユーザーなど必要なものを展開します。

したがって、上記で説明した理解に誤りがない限り、知りたいことの核心は、スーパーユーザーを展開およびアクティブ化するためにルートインストーラーが行うことです。Superuser.apk適切な場所に置くだけでは十分ではないようです。どのようにしてルートアクセスを許可しますか?他のアプリケーションのアクセスを管理するためにどのように接続されますか?

ルートアクセスを有効にして保護するために、Gingerbreakはエクスプロイト後に何をしますか?


回答:


16

APKとエクスプロイトが(通常)行うことは次のとおりです。

  • APKは、適切なファイルを適切な場所に配置してエクスプロイトを実行します
  • APKはエクスプロイトを実行します
  • このエクスプロイトは、ルートアクセスを獲得しようとします。
  • 成功すると、エクスプロイトは/ systemを読み書き可能として再マウントし、インストーラースクリプトを実行します
  • インストーラースクリプトは、suバイナリとスーパーユーザーAPKのインストールを試み、再起動します

例として、このページでは、rageagainstthecageエクスプロイトが昇格した特権を取得しようとする方法について詳しく説明します


2
ありがとう。これは私の本当の質問をさらに狭めると思います- インストーラースクリプトは正確に何をしますか?または、読むべきもののコピーをどこで見つけることができますか?私が見るほとんどのドキュメントは非常に不透明です。「このAPKをダウンロードして、動作します」とランダムなファイル共有サイトへのリンクがあります。
マイケルエクストランド

suを使用すると、Unixライクな環境(Androidの基盤)で特権を昇格できます。suバイナリがインストールされると、アプリ/スクリプトはsuおよびsudoコマンドを使用して、通常のユーザーに通常制限されているファイルシステムの一部を実行およびアクセスできます。つまり、システムの「制限された」部分へのアクセスを取得し、通常のユーザーが実行を許可されていないコマンドを実行できるようにするためです。
スパルクス

9

掘り下げた後、私はついに理解しました。私は魔法がどこにあるかについて間違っていました-それはインストーラースクリプトにありません。必要なことは、suSuperuser.apkバイナリを適切な場所に配置し、それらのアクセス許可を設定することだけです。そのため、ファイルを所定の場所にドロップしてアクセス許可を設定するのと同じくらい簡単です。魔法の配線はありません。

魔法はsuバイナリで発生します(ソースこの質問も参照してください)。私は(間違って)それsuが標準suだと考えていましたSuperuser.apk

違う。実際に起こることははるかに簡単です。スーパーユーザーは、suスーパーユーザーとその承認済みアプリケーションデータベースを介してアクセスを認証するカスタム実装を提供します。

したがって、ルート化のプロセスは@Sparxが言ったように簡単です。デプロイされたソフトウェアには魔法が含まれています。


これは1つの重要なことを見逃していると思います。suそれ自体は魔法ではありません。それに関する唯一の魔法はOSがそれを特別に扱うことです。特定のアプリケーションにアクセス許可の昇格を許可するかどうかをOSから尋ねられたときに、「OK」または「Not OK」を返すだけです。欠落している場合、または常に「Not OK」を返す場合、通常のアプリは決してルートを取得できません。したがって、ルート化は基本的に、su「OK」を返すことがあるバイナリを、システムの保護された場所に配置するプロセスです。
RomanSt

4
all that has to do is put the su and Superuser.apk binaries in the right place and set their permissionsこれがエクスプロイトなしで簡単であるかのように、エクスプロイトは魔法です。
アレックス14年

1
@Alexそうではありません。私は具体的には、ルーターがエクスプロイト後に何をするかを把握しようとしていました。この場合、ADBを介したルートアクセスがあったため、不必要にエクスプロイトを実行したくありませんでした。
マイケルエクストランド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.