Android2.2.2版SMT-i9100のroot権限取得手順や私なりのbusyboxインストール方法のご紹介

ついに・・

SMT-i9100の持てる力を解放する・・ッ!!

カンタンに言ってしまおう。
2chの勇者たちがgoroh_kun氏の力をバネにやってくれました。

そんな素晴らしい人柱たちの想いを胸に、私も人柱となり数々の手法を試した。
私なりアレンジをくわえたAndroid2.2.2版SMt-i9100のroot権限取得手順をここに記しておきたい。

ファームウェアアップデートにより一見塞がれた自由への道

持っている人がイマイチ少ないのか、イマイチ盛り上がりにかけるSMT-i9100のroot権限取得。

発売時、Android2.2.1で出荷されていたせいかわからないが、以前はかの有名なsuperoneclickでカンタンにroot権限を取得することができていた。
しかし、auがファームウェアアップデートをOTAで配信し、Android2.2.2になったとたん、root権限取得はできなくなっていた。
難攻不落と思われたが2chの勇者たちはrootへの道を見つけ出したのです。

ここで紹介する方法はroot権限での作業です。
やるのであれば端末の文鎮化、補償も無くなっても良いというリスクを考えなければならない。よくわからない人は手を出してはいけない。
何か失敗しても自分自身で解決(自己責任)が基本。
そしてroot権限での作業した内容によっては、本当に壊れますので注意。

私なり手順と必要なモノたち

まずは私が利用したモノを紹介しよう。
下記のとおり五つの神器を用意した。

・acrobreak
・psneuter
・busybox
・su
・Superuser.apk

acrobreak以外はsh03c_rootkit.zipに含まれているものを利用させて頂いた。

ダウンロード

・acrobreak
https://docs.google.com/leaf?id=0B8LDObFOpzZqZDExZmQ0YzItZTg5Yi00ZDNkLWIzMzItZmEyZGMxM2NhY2E4&hl=ja

・sh03c_rootkit.zip
https://docs.google.com/leaf?id=0B8LDObFOpzZqMjkyNmEyNDMtYmUzYi00MGEyLTgzM2EtNzlhZDY0ZDRkYjBj&sort=name&layout=list&num=50

sh03c_rootkit.zipの中にpsneuterなどがいっしょに入ってるんだ。

手順目次

主な手順を書き連ねよう・・
ちなみにアルファベットの項目は、root権限取得の目的によっては、やってもやらなくてもいいことだ。
そういえばroot権限取得自体、やってもやらなくてもいいことなんだっ!

以下に説明するコマンドに関しては、やりたい人はわかると思うけどすべてcmd(コマンドプロンプト)で実行するコマンドだ。

  • 1.必要なファイルを送り込む
  • 2.psneuterの実行
  • 3.acrobreakの実行
  • 4.shellログインしroot権限で各種作業
  • 5.busyboxを手動でインストール
  • 6.suの設置
  • A.shellログイン時に自動でroot権限になる
  • B.root権限の必要なアプリを使えるようにする
  • C.Superuser.apkのインストール
  • 7.再起動して完了
  • 1.必要なファイルを送り込む

    まずは一連のcmd上で用意したファイルを置いてある場所(フォルダ)に移動。
    (私の場合はCドライブの直下に「smt」というフォルダを作りそこに一連のファイルを置いたので「cd c:\smt\」となる)
    そして使うファイルなどをSMT-i9100にぶちこむ。
    ぶちこむと同時にpsneuterとacrobreakには実行権限なども与えておく。

    cd c:\smt\(←※psneuterとかを置いてあるフォルダね)
    adb push psneuter /data/local/tmp
    adb push acrobreak /data/local/tmp
    adb push su /data/local/tmp
    adb push busybox /data/local/tmp
    adb push Superuser.apk /data/local/tmp
    adb shell chmod 755 /data/local/tmp/psneuter
    adb shell chmod 755 /data/local/tmp/acrobreak

    2.psneuterの実行

    ぶちこんだファイルのうちのpsneuterをadb経由で実行する。

    adb shell /data/local/tmp/psneuter

    一旦USB接続が切断されるので、数秒間待ったのちshellログインできるか確認、できたら「exit」でログアウトする。

    adb shell
    exit

    3.acrobreakの実行

    続けてacrobreakを実行する。

    adb shell /data/local/tmp/acrobreak

    またしてもしばらく待つ。
    ズラズラと謎の文言が表示されるが、しばし待つ。

    「[!] dance forever my only one」と表示されればroot権限取得の準備完了。

    4.shellログインしroot権限で各種作業

    シェルログインしroot権限になる。

    adb shell
    /data/local/tmp/sh

    上記コマンドのあと、「#」が表示されればroot権限になっているということだ。

    その後の作業のためにsystem領域を読み書きできる状態でマウントしておく。

    mount -o remount,rw /dev/block/stl9 /system

    5.busyboxを手動でインストール

    関わるディレクトリやファイルのアクセス権限を変更し、伝説の武器である「busybox」をSMT-i9100にインストールする。

    chmod 755 /data/local/tmp/busybox
    chmod 777 /system/bin
    chmod 777 /system/xbin
    /data/local/tmp/busybox cp /data/local/tmp/busybox /system/xbin
    chmod 755 /system/xbin/busybox
    /system/xbin/busybox --install -s /system/bin

    今後はシェルログイン時にcpコマンドなどが自由に使えるはずだ。
    Titanium Backupなどbusyboxを使うアプリはこの方法ではbusyboxが無いとみなすこともあるっぽいので、マーケットでBusbox Installerを使ってインストールした方が楽だとは思う。
    でも、再起動したら使えてたからそうでもないかも。謎だ・・

    まぁ、個人的にはあえて手動でインストールしてみたかったんだぁ・・

    6.suの設置

    お待ちかねのsuを設置する。
    これを設置することでシェルログイン時にroot権限になったり、root権限の必要なアプリを利用することができるようになる。

    cp /data/local/tmp/su /system/bin
    chmod 6755 /system/bin/su

    上記コマンドを実行しておくことで、今後はcmdで「adb shell」→「su」でroot権限になることができる。

    A.shellログイン時に自動でroot権限になる

    下記コマンドを実行することで、シェルログイン時に自動でroot権限になることができる。

    だが!!
    音声が再生されなくなったりなどの不具合があるので正直微妙だ。

    echo ‘ro.kernel.qemu=1’ > /data/local.prop

    上記コマンドを実行してしまったけど、音が出ないからやめたいなんて場合は「local.prop」を削除すれば良い。
    削除コマンドは下記のとおりだ。

    rm /data/local.prop

    B.root権限の必要なアプリを使えるようにする

    root権限の必要なアプリを使うためには下記のようなコマンドでアプリがsuを実行できるようにしておく必要がある。

    chown root.root /system/bin/su
    chmod 6755 /system/bin/su
    chown root.root /system/xbin/busybox
    chmod 6755 /system/xbin/busybox

    C.Superuser.apkのインストール

    Superuser.apkはインストールしなくてもroot権限に関し何も影響は無い。
    だがroot権限が解放されているというのは、まさにセキュリティホールを公開中といっても過言ではないかも知れない。
    そこでSuperuser.apkをインストールしておくことでroot権限を利用しようとするアプリが登場した時に許可するか否かをSuperuser.apkがアラートで表示してくれるのでインストールしておいた方が良いだろう。

    chmod 777 /system/app
    cp /data/local/tmp/Superuser.apk /system/app

    インストールした後はマーケットを開き、Superuser.apkの自動更新をオフにしておこう。
    最新版のSuperuser.apkをインストールしてしまうと、「suのバイナリが古い」だのなんだのというメッセージを執拗に出してくるので面倒なんだ・・
    もし最新版に更新されてしまった場合は、Superuser.apkの自動更新をオフにした後で、もう一度上記コマンドでインストールしなおすなどすればバージョンを戻すことが可能だ。(SDカードからのインストールでもOKだ)

    7.再起動して完了

    再起動することで、上記のさまざまな作業が反映され、root権限取得完了というわけさ!

    reboot

    いつもの一言

    神は人に「好奇心」を与えた。

    時に人はできないと言われても、それに固執し、追及し、遂にやり遂げてしまうことがある。
    「過ぎた野心は身を滅ぼす」などという言葉があるが、
    「過ぎた好奇心は不可能を滅ぼす」という言葉があってもいいのではないだろうか。

    この方法を見つけたり深掘りしていった人たちに感謝したい。

    ところで今回の一連の作業など、簡略化するツールなどを公開してくれている人もいるようだ。

    だが敢えて!
    cmdからゴニャゴニャやりたいのが男というものさ!

    さて、root権限、つまりSMT-i9100の特権を得た今、どうしてくれよう・・
    やりたいことはたくさんあるよね!

    そうそう、これを機にLinuxとかUNIXとかのコマンドに目覚めちゃってもいいと思うんだ。

    スポンサーリンクと関連記事

    最近の記事