systemをR > Wマウント

HTL21のroot権限取得後に、system領域をR/Wでマウントする手順などについて書いています


systemをR/WでマウントするのがめんどいHTL21

  • root権限を取得することで得られる利点の中でももっともおいしいものといっても過言ではないシステム領域の改変であるが、HTL21の場合S-OFF後にsuperuser系アプリを焼いただけでは通常起動時にsystemを書き換え可能にする(R/Wでマウントする)ことができない
    • これがなぜ起こりうるのかはページ下の(研究)にて解説したいと思うが、知らなくても手順さえきちんと追えば改変できるようになるので興味のある人だけ読めばよい。

  • これの対策としては以下の手法が経験的に知られている。
(1)…通常起動時にsystemをいじることを諦め、カスタムリカバリーからsystemをR/Wマウントして改変を行う
  • 特にTWRPはタッチパネルで快適にファイル操作などが可能。ダウンロードは以下のフォーラムから。
kernel & Custom ROM フォーラム 【HTC J Butterfly】 Kernel & Custom ROM
(2)…純正ROM(Sense4+)にbusyboxをインストールするとR/Wマウントできるようになる
    • busyboxについては(研究)なども参照のこと。
(3)…HTC速報製のSense5ROMなど、カスタムROMを焼くとR/Wマウントできるようになることが知られている
  • 管理人はSense5ROMで確認済み。x920dROMは知らん(ともに2013年8/27現在は配布は停止している)

(4)…上記URLのフォーラムで公開されているカスタムカーネルが、カーネルによるMMC(内部ストレージ)の書き換え制限を解除する改造を行っている可能性が非常に高い。
  • rootスレ6のID:yQCUsb9W氏による推測(詳しくは(研究)参照)。要検証。

(2)の詳しい解説

  • 今回では特に(2)について解説をしてみたいと思う。
  • busyboxをインストールするといってもそれ自体systemディレクトリを改変する行為であるから、最初の一回はどうしてもそこの突破口をこじ開けなくてはいけない。
  • いろいろな方法があるがそこは好みでよいと思う。それよりも大切なのはできるようになるまでいろいろな手法をトライしてみることである、多分。

  • その方法としては以下がわかっている
(2)[甲]ここからダウンロードしたSuperSU-Busybox-Installer.zipを、カスタムリカバリーからインストールする
  • rootスレ6のID:yNzIFRa3氏からの情報提供。
  • WEB上でははこの方法がもっともよくみられるし、いちばん簡単で確実な方法だろう。

(2)[乙]要rootのバックアップアプリTitanium Backupで適当なsystemアプリをアンインストールすると、処理後にr/wマウントされているので普通にbusyboxをインストールする
  • 管理人はこの方法を使っていたりする。Titanium Buckupの現行バージョンは専用のbusyboxをアプリに内蔵しているようであり、
''Titanium Backup uses an optimized, built-in version of busybox by default'', so you usually
don’t need to change anything.'If, however, you have problems with root access or with
busybox, try hitting the “Problems” button to upgrade your “Superuser” app first. If the 
issue persists, you may try to enable the “Force use system busybox” option in the
preferences as a last resort.
(以上Titanium Backup User’s Guideより抜粋)
  • このやり方はそれを利用させてもらう、という形である。
  • アンインストールするアプリは、systemアプリ(Titanium Buckup内で赤字で表示されているもの)のうち、auウィジェットアプリやGREEのアプリなどしょぼそうなやつを選んでおけばなんでもOK。
    • 一応言っておくとこれはsystemUI.apkなどのシステムの根幹にかかわるようなアプリは間違っても消すなよ、という注意の文言である(そんな人はさすがにいないと思うが…)。「アプリが消えるのが嫌だ」という人はバックアップをあらかじめ取っておくとよい。

(2)[丙]Adawayをインストールし、設定からhostsファイルを開くとsystemが書きかえられるようになる
  • 以下のリンクが詳しいが、管理人はこの方法ではできなかった。
http://momorito.blog.fc2.com/blog-entry-37.html
(2)[丁]system内蔵のtoolboxへのシンボリックリンクを消去し、他のtoolboxに関連付ける
  • Linuxの扱いに詳しい人はこのようなやり方もあり。詳しくは下記URLへ。

(2)の注意事項

  • 正しくbusyboxをインストールしてもESファイルエクスプローラーからでは起動中のシステムR/Wマウントは不可能である。
    • これはいまだ原因が分からない。Sense5ROMではこのバグは解消されている。
    • 対策としてはrootエクスプローラの購入をお勧めする。
  • またbusyboxのインストールに成功したならば、コマンドラインの扱いに慣れている人は端末をadbの使えるPCに接続したうえで以下のコマンドを入力すると
adb shell
su
busybox mount -o rw,remount /system
  • systemがR/Wマウントされてコマンドプロンプト上からファイル操作ができるようになる。
  • 「ほかにももっとスマートなやり方を知ってるぜ」という人はぜひ情報提供を、いや教えてくださいお願いします。


(研究)systemがR/Wできない理由

  • これについては複数の理由が考えられる。
(1)カーネル側によるMMC改変のブロック

287:SIM無しさん [sage] :2013/08/27(火) 21:49:50.29 ID:yQCUsb9W
うわーん書ける。
(管理人注:彼の規制が解除された)
/systemがrw出来ないのは、純正カーネル使ってるなら、
カーネル側のMMCへのプロテクトが原因かもね。
(RWにして書き込みしても、ROにしたら書き込みした内容が戻る)
で、カスタムカーネル出してる人はそれをCONFIGから
外しているはずだから、純正ROM+カスタムカーネルでも
問題は回避出来るはず。
(中略)
(root6)

  • この仮説を裏付けるのが、xdaフォーラムにある以下のスレッドである。
  • HTL21の姉妹機種であるDroid DNAについての話題であるが、そのカーネルのコンフィグの一部を改変をすることでブート中のR/Wマウントを可能にするというものである。
    • このプロテクトは2010年モデルのHTC Desire Z/HTC G2から存在するものらしい。
  • system領域の改変に関してはS-OFFと同等とあることから、このカーネルによるブロックはS-OFFしておけば回避可能であるということもわかる。
    • 実際、S-ONでは改変できなかったという報告もある。この人はrecoveryからのsystem改変を試みている。

(2)内蔵toolboxによるmountコマンドの制限
  • Android端末のShellコマンドはすべてtoolboxと呼ばれるバイナリへのシンボリックリンク(Windows的な言い方をすればショートカット)になっているということはご存じのとおりだが、HTL21ではそのtoolboxがsystemをR/Wマウントできないよう意図的に改変されている

395 : SIM無しさん[sage] 投稿日:2013/06/14(金) 19:05:48.38 ID:P1+0ghc+ [2/2回] 
※391 ※393 
もともとmountが/system/bin/toolboxへのsymlinkになってて、こいつは/systemをrwでマウントできなさそう。 
リカバリからbusyboxをzipで入れるか、バイナリを/system/xbinにpushして 
/system/xbin/buxybox --install -s /system/xbin 
とかすれば起動中もrwでマウントできるようになるよ。 
(root3)
  • toolboxの機能拡張版ともいえるbusyboxをインストールすることでマウントが可能になるのもこれで納得できよう。

  • まとめると、HTL21の場合、
    • 端末購入時にはSuperuser権限が与えられていない…Android標準
    • カーネルによる改変ブロック…HTC独自の付加機能
    • toolboxの改良によるmountコマンドの弱体化…HTC独自の付加機能
  • という3段構えのsystem改変防止策をとっていることが分かった(面倒くせえ…)。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2013年08月28日 01:30