2011/11/24

SuperOneClick v2.2

SuperOneClick v2.2 が出ている模様。

変更点は、以下の通り。
・zergRush という Exploit が利用できるようになった
・Superuser をv3.0.6にした

まだ試してはいないのだが、この zergRush が利用できるようになったのは大きな変更点。
Gingerbreak がほとんどの機種で適用できなかったのに対し、zergRush は Gingerbreak の一部を流用しつつ Android 2.3.3 の root 権限を取得できるようにしたものらしい。
動作確認リストにも挙がっているように、そこそこ多くの機種で利用できる模様。

これまで、Android 2.3.3 で root 権限を奪取するにはカスタムカーネルを利用する手しかなかったが、zergRush を使用するという選択肢が増えたのはうれしいところ。

2011/05/23

SuperOneClick で root 取得後に unroot する

SuperOneClick で root 取得後に unroot するにはどうするかをまとめておく。SuperOneClick には unroot の機能はあるが、root 時に行ったことを完全に元に戻してくれるかというとそうではない。

2011/05/15

パーティションの切り直し

所持している SC-02B の内蔵SDのパーティションが、シリンダ境界で切り分けられていない個体だったので、パーティションの切り直しを行った。デフォルトのパーティションサイズをメモしておく意図で、内蔵SD のパーティションを切り直す方法をまとめておく。当然ながら、パーティションテーブルの変更を行うと、その領域のデータは破棄されるので注意。

efs のリカバリ方法

リカバリイメージの作成 で作成した、efs.rfs のリカバリ方法についてまとめておく。

efs.rfs の抽出元である、/efs は通常破壊されるような領域ではないため、基本的に efs.rfs をリカバリする必要はない。また、/efs は IMEI を含む各本体固有の内容であるため、必要もなく操作するのは避けるべき。
しかし、万一破壊してしまった場合はリカバリする必要がある。

あらかじめ SuperOneClick で Shell Root になっておくこと。最初に efs.rfs ファイルを microSD に転送している。
C:\SC02BOMJJ1> adb push efs.rfs /sdcard/external_sd/
C:\SC02BOMJJ1> adb shell
# dd if=/sdcard/external_sd/efs.rfs of=/dev/block/stl3
# exit

書き込みが終了したら再起動して 電話のキーパッドから *#06# を入力すると IMEI が表示される。この IMEI と本体が入っていた箱の IMEI とを比較して一致していれば良い。

2011/05/14

リカバリ方法

リカバリイメージの作成でリカバリイメージを作成したので、それを使ってリカバリする方法をまとめておく。
リカバリをすると、インストールしたアプリや、システム設定やアプリのデータが全て消えるので注意。その代わり、システムの内容を初期状態に戻すことができる。
なお、リカバリイメージの代わりに、SC-02B 用のカスタムROMを指定することで、カスタムROMをシステムに書き込むことができる。

リカバリイメージの作成で抽出したイメージについて

リカバリイメージの作成 で抽出したイメージの詳細をまとめておく。

2011/05/11

rfsファイルの中身を見る

リカバリイメージの作成 で作成した、拡張子が rfs のファイルの中身を見ることができる。
RFS は Samsung が開発した NAND 型フラッシュメモリー用の Linuxファイルシステム。
Linux 上で VFAT(FAT16/32) としてマウントすると中身を参照することができる。

2011/05/10

リカバリイメージの作成

今更ながら、SC-02B (Android 2.2, SC02BOMJJ1)のリカバリイメージを作成したので手順をまとめておく。Windows PC 上で作業した。
当然ながらメーカー保証外の作業を含むため自己責任で。

2011/05/06

KillingInTheNameOf

adbd の脆弱性を突く1つのの手法である KillingInTheNameOf について調べてみた。KillingInTheNameOf は、Android 2.1 で実行可能で、一部の Android 2.2.1 の機種では対策されている模様。

2011/04/26

SuperOneClick v1.9.1

SuperOneClick v1.9.1 が出ていたので、変更点を追記してみる。v1.8.0をスルーしていたので、まとめて追記しておく。

v1.8.0
・ドライバが自動的にインストールされるようになった(Windows のみ)
・root 取得に使用するツールである RageAgainstTheCage を廃止(Exploit として選択できなくなった)
・フォルダ構造を一新

v1.9.0
・バグフィックス

v1.9.1
・root 取得に使用するツールである GingerBreak を使用できるようにした
・busybox のインストールをするかどうか選択できるようになった


RageAgainstTheCage で使用している脆弱性は、Android の現在のバージョンでは既に修正されている。そのため不要と判断された模様。現在も利用できる psneuter の手法と、新たにリリースされた GingerBreak の手法の2つの手法がサポートされている。GingerBreak は Android 2.2, 2.3, 3.0 に対応しているらしいので、Xperia arc でも使用できるようだ。

Androidのビルド

公式のガイドを参考にAndroidのソースコードのビルド環境を作ってみた。

公式のガイドによると、Android のソースコードはおよそ 2.6GBあり、ビルドするのに空き容量が 10GB 必要。(ちなみに実際にダウンロードした froyo のソースコードは 4.6GB あった)
Android は、Ubuntu (10.04以降) でテストしているようだが、多くのディストリビューションで必要なビルドツールが利用できるはず、とのこと。

2011/02/23

z4root 1.3.0

z4root について少し触れておく。

Credits にも書かれているように、z4root は rageagainstthecage を使用している。
試しに apk を decompile してみたが、exploit に使用しているのは rageagainstthecage だけのようだ。

rageagainstthecage でも書いているが、rageagainstthecage で利用している脆弱性は、すでに修正済みのものである。
Android 2.2.1 以降だと、この修正のために rageagainstthecage での root 取得はうまくいかない場合がある模様。
こういった場合には SuperOneClick を使用すれば root 取得できる可能性がある。ただし、SuperOneClick では rageagainstthecage ではなく psneuter の方法を用いること。

2011/02/13

rageagainstthecage

SuperOneClick v1.6.5 を起動すると、画面の右に Exploit という枠があって psneuter と rageagainstthecage が選択できるようになっているが、このうち rageagainstthecage を選択した場合についてまとめてみる。
SuperOneClick 自体は、GUI画面で Android 実機を操作する補助ツールでしかなく、root 権限を取得するための別のツールを内部で実行している。このツールの1つが rageagainstthecage である。

2011/02/11

SuperOneClick v1.6.5 (まとめ)

SuperOneClick の挙動についてはだいたい書き終えたので、そもそも、なぜ root を取ろうとするの?ということについて少し触れておこうと思う。

SuperOneClick v1.6.5 (Get Unlock Code編)

SuperOneClick の詳細の続き。
今回は Get Unlock Code ボタンをワンクリックすると何が起きるのかを解説してみる。

SuperOneClick v1.6.5 (Allow Non Market Apps編)

SuperOneClick の詳細の続き。
今回は Allow Non Market Apps ボタンをワンクリックすると何が起きるのかを解説してみる。

SuperOneClick v1.6.5 (Unroot編)

SuperOneClick の詳細の続き。
今回は Unroot ボタンをワンクリックすると何が起きるのかを解説してみる。

SuperOneClick v1.6.5 (Shell Root編)

SuperOneClick の詳細の続き。
今回は Shell Root ボタンをワンクリックすると何が起きるのかを解説してみる。

2011/02/10

SuperOneClick v1.6.5 (Root編)

前回から続いて SuperOneClick の詳細を見ていく。
今回は Root ボタンをワンクリックすると何が起きるのかを解説してみる。

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ロックされている模様。

2011/02/03

ADB (Android Debug Bridge)

ADB こと Android Debug Bridge についてはAndroid Adb Analyse が詳しい。
しかし、そこそこ情報量があるのと、SC-02B でのいたずら目的にはこの全てを読む必要はない。
というわけで、必要そうなことだけ簡単にまとめてみる。

2011/01/10

Download Mode と Recovery Mode

3ボタンでの Download Mode と Recovery Mode への入り方。

Samsung Kies でテスト版ファームウェアの更新チェック

Samsung Kies でテスト版のファームウェアの更新をチェックする方法。
ついでにテスト版のファームウェアに更新することも可能。

レジストリで
HKEY_CURRENT_USER\Software\Samsung\FUS\Setting_1
の値を10進数で 91929394 にする。

値を 0 にすると正式版のみチェックする。

Android SDK のインストール

JDKが必要なので OracleのJavaのページ からJDKをダウンロードしてインストールしておく。
x64環境でもx86版をインストールしないといけない模様。

次に Android Developers から Android SDK をインストールする。
exe 版もあるが、zip 版でよい。解凍したフォルダを任意の場所に置くだけ。

android-sdk_r09-windows.zip でインストールした場合は以下の作業が必要だった。
インストール先の SDK Manager.exe を実行する。
"Choose Packages to Install"というダイアログが開くと思うので、Android SDK Platform-tools 以外の packages を選択して Reject にした後、Install をクリックする。
(Reject の操作をせずにインストールしてもいいが時間がかかる)
インストールされると
Done. 1 package installed.
と表示されるので、Closeをクリックしてダイアログを閉じる。さらにSDK Managerもすべて終了する。

最後にインストール先のtoolsフォルダとplatform-toolsフォルダを環境変数PATHに追加する。

Samsung Kies のインストール

Windows版のSC-02B用のドライバをインストールするために、Samsung Kies をインストールしておく。

SAMSUNG mobileの国内向けページ からもダウンロードできるが、古いので
SAMSUNG UKのGalaxy Sのページ からダウンロードする。
Downloads -> Galaxy S -> Firmware Update と進んでダウンロードできる。
インストーラのウィザードに従ってインストールするだけ。