2011/02/09

SuperOneClick v1.6.5 (はじめに)

SuperOneClickについて解説してみる。
これを書いている時点の最新である v1.6.5 を対象としている。
SuperOneClickは、簡単にroot権限を取得できるようにするための補助ツール。
その他、Android Market 上にないアプリを許可したり、SIMロックの解除コード(unlock code)の取得ができる模様。
SC-02B は unlock code を要求されないらしいのでやる意味はない(やったところで国際版Galaxy Sとは仕様が違うみたいで取得できない)。キーパッドから *#7465625# を入力して確認しても全てOFFなので、そもそもSIMロックされてない? 試してみたところ、ステータスバーの「FOMAカード未挿入状態」のアイコンは消えずSIMロックされている模様。



起動画面はこんな感じ。


いくつかボタンが並んでいるが、root を取得したいなら SC-02B を USB デバッグモードにして(設定-アプリケーション-開発-USBデバッグにチェック) PC に接続して Root をクリックするだけでいい。
各ボタンの概要は以下の通り。

[Universalタブ]
Root … root を取得する。
Shell Root … 一時的に root を取得する。本体再起動で無効になる。
Unroot … root を取得後に元に戻す。
Allow Non Market Apps … Android Market で提供されていないアプリを許可する。
Donate … 寄付。
※Exploit欄 … root を取るのに使う手法を選択する。

[Samsung Captivateタブ]
Get Unlock Code … Unlock Code を取得する。

ここまではどこにでも書かれていそうな内容なので、正直どうでもいい。
ここからは、root が取れるのは分かってるんだ、知りたいのはそんなことじゃなくて中で何をやっているかってことなんだ、という人向け。

まずは、SuperOneClick に同梱されているものを簡単に説明しておく。

・adb.exe
・AdbWinApi.dll
・AdbWinUsbApi.dll
・adblinux
・adbmac
これらは ADB。上3つはWindows用。以下、Linux用、MacOSX用と続く。
Windows用のはAndroid SDK Platform-tools として公式で配布されているものそのままだった(Linux、MacOSXのは未確認)。
SuperOneClick 本体は .NET Framework 2.0 で作られているため、本来は Windows 専用だが、Mono を導入すれば Linux や MacOSX でも実行できる。そのため、それぞれの環境用のADBを同梱してある。

・busybox
便利なbusybox

・psneuter
・rageagainstthecage
adbd の脆弱性を利用して root を取得するためのツール。SuperOneClick のキモ。

・sqlite3
Android で使用されているデータベースである SQLite を操作するためのツール。

・SuperOneClick.exe
SuperOneClick 本体。

・Superuser.apk
Superuser という、スーパーユーザー権限(root権限)を与えたり管理するための Android 用アプリ。Android Market でも公開されている。

・su-v1
・su-v2
ユーザアカウントを切り換えるツール。v1は Android 2.0未満、v2は Android 2.0以降用。
SC-02Bは Android 2.2 なので、v2 の方のみ使用される。UNIXでいうところのsuコマンド。

長くなってきたのでとりあえずここまで。続きは次のエントリへ。

0 件のコメント:

コメントを投稿