Android2.2版SH-03C(LYNX3D)でのshell root取得手順

SH-03Cのイメージ

LYNX・・LYNX・・!!


さてアプデの興奮もおさまりつつあるLYNX 3DことSH-03Cですね?

今回っはroot権限取得について語りたいと思います。
さて、穴埋めが好きなシャープ様ではあります。
SH-03CはAndroid2.2にアップデートすると、以前紹介したgoroh_kun氏のツールやpsneuterではroot権限の取得はできなくなっております。

しかし一見穴埋めされたと思われたAndroid2.2版SH-03Cにもなんとgoroh_kun氏のツール、IS03breakが使えたのです。
今回はAndroid2.2版SH-03Cでのroot権限取得の方法を紹介します。
ただしsystem領域の変更はできないから・・っ!

Android2.2でのshell root取得でしか無いんだ

ざっくり言うと、以前紹介したsh03c_rootkitの作者であるgoroh_kun氏がIS03向けに産み出した「rootkit_is03_0430.zip」を使わせていただく。
Android2.2版SH-03Cではこういう手順でadb shellでのroot権限が取得できるという紹介です。
shell rootだけ、という意味ではsh03c_rootkitよりも簡単な気がする。

ちなみに今回紹介している方法は、端末単体でのroot権限取得方法ではないです。
後述するかも知れないが、私の端末では/data/にlocal.propが存在するとネットワークが無しとなり電話機能やSMSなどが一切利用不能になってしまう。
初期ロット機特有の現象かもしれない
・・

また、ここで紹介する方法はgoroh_kun氏のドキュメントと若干違う部分もあるし、そもそも何が起こるか分からない危険な行為なので実行することはオススメしない。
やるのであれば端末の文鎮化、補償も無くなっても良いというリスクを考えなければならない。よくわからない人は手を出してはいけない。
おサイフ関連もどうなることやら。もちろん私自身サポートもしないし、手助けもしない。無論、goroh_kun氏に助けを請うのもNGだ。

rootkitのダウンロード

まずはrootkitをダウンロードし、そして解凍する。

・rootkit_is03_0430.zip

https://docs.google.com/leaf?id=0B8LDObFOpzZqYWY4OGIwZGUtZWUxYy00NTUzLWE2OTgtNzZjMWIwZjBiNmNk&hl=ja

いくつかのコマンドをぶちこむ

rootkitを解凍したら、コマンドプロンプトを起動(「windowsキー」+「R」→「cmd」)し、いくつかのコマンドをぶちこむ。
そしてis03breakを実行するとshell rootが取得される準備が整う。

adb push data_local /data/local/
adb shell chmod 755 /data/local/is03break
adb shell chmod 755 /data/local/autoexec.sh
adb shell chmod 755 /data/local/busybox
adb shell /data/local/is03break

簡単に解説すると1行目でroot権限取得に必要なファイルをSH-03Cに送り込み、2、3、4行目で送り込んだファイルに実行権限を与え、5行目で「is03break」というファイルを実行する。
そんな感じだ。

コマンドプロンプトの表示

失敗することも意外と多いのでis03breakを実行し、失敗した場合と成功した場合の表示を紹介しよう。

失敗した場合の表示

(一部省略)
[*] vold: 0093 idx: -0002078
[*] vold: 0093 idx: -0002079
[*] vold: 0093 idx: -0002080
…(無限?に続く)

成功した場合の表示

(一部省略)
[!] dance forever my only one

こうなったら踊りましょう。

失敗した場合は送り込んだファイルを削除し再起動して「dance forever my only one」になるまでやり直せばいい。

おまけ:送り込んだファイルの簡単な削除コマンド

adb shell rm /data/local/tmp/*
adb shell rm /data/local/*

面倒なので私は上記のコマンドで「/data/local/tmp/」と「/data/local/」の中身を全て削除している。

shell rootの取得コマンド

それでは、いよいよshell rootだ。
「adb shell」でSH-03Cにログインし、更なるコマンドをぶち込む・・

/data/local/tmp/sh

コマンドプロンプトに表示される記号が「$」から「#」に変わっていればshell rootになったということなんだ!!

余談だが、ここでなぜかSDカードのマウントが解除されたという状態になる。(実際にはマウントしたままだが)
そのせいでSDカードにインストールしたアプリのアイコンが表示されずAndroid SDK標準のものになってしまう。
これはroot権限も無くなるが、再起動することで元に戻る。

要するにroot権限を元に戻したいときは、再起動すればOKだ。
先ほどの削除コマンドをぶちこんでおけば、さらにスッキリだね。

ただし、初期ロットと初期ロット以外の端末では挙動が異なる可能性が高い。
注意が必要だ。

いつもの一言

ちなみに、goroh_kun氏のREADMEでは再起動した後もroot権限取得ができるように記されているが、私の端末ではそのあたりが上手くいかなかった。
初期ロットだからかも知れない。

逆に、初期ロットではない端末の人はREADMEどおりの手順でいいかも。

さてさて、ナニをしてくれようかねぇ!!

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

最近の記事