猫田にゃんの覚書き

猫田にゃんの覚え書き

自分で忘れないよう知識を整理するまとめ帳

Root化だの脱獄だの

スマホを持っていれば一度くらいはRoot化だの、脱獄だのという言葉は聞いた事があるだろう。何やら難しそうで手が出せない印象を受けたはずである。実際にRoot化や脱獄に挑戦した人間は少ないだろう。このため

1)何が出来るようになるのか?

2)目的は何か?

3)デメリットはないのか?

ということが、未経験者にはまるで理解できないだろう。

 

(1)何が出来るようになるか?

管理者権限をもつことで、システムで隠されていた不可視領域にアクセス出来るようになる。

 

Android端末

Android 端末にて管理者権限をもつことを、Root化すると言う。Root化すると権限制御アプリである SuperSU アイコンが表示される。

 

f:id:kiyatoneko:20190502024825j:image

 

全てのアプリに管理者権限を与える必要はない。大半のアプリは制限モードのままで稼働させればいい。

不可視領域へアクセスするなど、権限が必要になったときだけ一時的に管理者権限を付与する。権限不要になったら権限を取り上げて制限モードに戻す。

こういった管理者権限付与や解除をするのが SuperSU という制御アプリだ。

 

アプリには2種類あって

A) 通常アプリ

B) Root対応アプリ

の双方が、GooglePlayストアにアップされていて、双方ともそこからダウンロードする。

A)通常アプリは、常に制限モードで稼働するもの。

B)Root対応アプリは、起動直後は制限モードで動くが、必要なときにはSuperSUへと権限付与要求を出す。SuperSUがこの要求を承認すると、該当アプリが管理者権限モードへ移行するわけだ。

 

f:id:kiyatoneko:20190502024902j:image

 

SuperSU により管理者権限を付与されると、これまでシステムで制限されていた不可視領域にアクセスできるようになる。

例えば通常は制限されているシステムルートを参照したり更新したりできるようになるのだ。

 

f:id:kiyatoneko:20190502024927j:image

f:id:kiyatoneko:20190502024944j:image

 

iPhone端末

iPhone端末にて管理者権限を持つことを、脱獄すると言う。やけに大袈裟だがAndroidよりiPhoneのほうがシステム制限が厳しく牢獄のようなものだ。単に管理者権限を得るだけでなく、iPhoneのセキュリティ機能であるところの署名認証を迂回するトリックも併用するので、やはり脱獄という言葉が似合う。

 

iPhone で脱獄すると Cydia というアイコンができる。これはリポジトリを登録したデータベースで、、、といっても意味不明だろうからもっと簡略にいうと

AppleStore みたいなものだ。

 

iPhone脱獄の場合は、SuperSUのような権限付与管理はない。もっとはるかに単純だ。アプリには2種類あって

A)通常アプリ

B)Root対応アプリ

 

A)通常アプリは、AppleStoreからダウンロードする。

B)Root対応アプリは、Cydia からダウンロードする。

つまり Cydia からダウンロードしたアプリは、常に管理者権限モードで動くわけである。

 

f:id:kiyatoneko:20190502032435j:image

f:id:kiyatoneko:20190502032542j:image

f:id:kiyatoneko:20190502032456j:image

 

Cydia からダウンロードしたRoot対応アプリは管理者権限モードで動くので

システムで制限された不可視領域へアクセスできる。

例えば通常は制限されているシステムルートを参照したり更新したりできるのだ。

 

f:id:kiyatoneko:20190502032622j:image

f:id:kiyatoneko:20190502032640j:image

 

(2)目的は何か?

Root化ないし脱獄することで、システムで制限された不可視領域にアクセス出来るようになる。

では何のために?

いったい何のために不可視領域へアクセスしたいのか?

 

2019年現在のスマホを持っていると、わざわざ面倒な事をする動機が分からないだろう。

だがスマホ草生期のころ、当時のスマホは性能が悪くて、カスタマイズしないと使いものにならなかった。

 

Androidの例としては、パナソニック社 P-01D が分かりやすい。これは往年の名機であるがストレージ空き容量が少ないことが欠点とされていた。

納品直後の未使用状態で空き容量がたったの 250MBしかない。これではアプリをろくにダウンロード出来ない。使いもしないプリインストールアプリが容量を喰いすぎなのだ。プリインストールアプリを削除すれば空き容量を増やせるが、厄介な事にプリインストールアプリは不可視領域に保存されているため、ノーマル状態では削除不能なのだ。

プリインストールアプリ削除のためには、不可視領域へアクセス出来るようにすべく、Root化しないといけない。

 

もう一つ例をあげよう。ノーマル状態のAndroidではアプリの完全なバックアップは不可能だ。大抵のアプリは /data ディレクトリ以下の不可視領域にアプリ本体や主要データが保存されるからだ。

完全バックアップするためには不可視領域を含めた全領域にアクセス出来なくてはいけない。Root化する必要がある。定番の完全バックアップアプリは、Titanium Backup というアプリだ。

 

iPhoneでも似たようなものだ。iPhoneだとデータ管理がさらに厳格でサンドボックスモデルという外部アクセス防止機能があるから、ノーマル状態ではアクセス不能な部分が非常に多い。

不可視領域へアクセスすることで、より利便性をあげる改造ができる。

 

以上をまとめると、

ノーマル状態では何がしかの不便なことがある。

不可視領域へアクセスすることで不便を解消し、利便性を上げる。

これがRoot化ないし脱獄の目的であった。

 

(3)Root化や脱獄のデメリット

そもそもなぜスマートフォン端末は、納品時に制限ユーザーモードなのだろうか?

 

パソコン端末は納品時には管理者権限モードである。不可視領域などない。見れない領域があるとしたら単に知識不足なだけで、適正手順さえとればどこでもアクセスできる。万能な権限だ。

それゆえパソコン端末では誤操作によってシステム領域を壊してしまい起動不能になることも起こりえる。ユーザーはしょげてメーカーサポートに連絡してリカバリ復旧を行うか、もしくはメーカーによる修理となる。

ここで重要なことは、パソコン文化では暗黙の了解で、ユーザー自己責任という合意があることである。システム領域を壊して使えない=ユーザーが悪い=ユーザーが費用負担する、という合意である。

 

スマートフォン端末はどうか? 主目的は音声電話なり電子メールなど通信手段である。

もしも納品時に管理者権限モードにして、ユーザー誤操作によりシステム領域を壊したら、電話もメールも使用不能になる。

このときユーザーは誤操作した自分が悪い。自己責任だ、と納得するだろうか?

何億円ものビジネス商談は破談になるかも知れない。欲しい商品を注文できないかも知れない。このときユーザーは自分の誤操作が悪いんだと納得するだろうか?

 

スマートフォンを販売する各社は予想されるクレームが怖かった。そこで誤操作をしても音声電話や電子メールは使用できるように、システム領域へのアクセスをできなくしたのだ。不可視領域にしてしまえば壊すことは無い。ユーザーが壊せるのはアクセスが可能な可視領域だけだ。

ノーマル状態のスマートフォン端末は、データ保存をするストレージの中しか見れない。

誤操作で壊せるのもストレージの見える範囲だけなので、うっかりしてもシステムは壊れることはあり得ない。

 

Root化ないし脱獄は、安全装置を外すことになる。誤操作によりシステム領域を壊して起動不能にする危険を負うことになる。

そうなっても全て自己責任だ。

 

デメリットは

誤操作によりシステム領域を壊す危険。

セキュリティ無効になるためウィルスなどマルウェア侵入をゆるし、システム領域破損や、個人情報漏洩の危険。

メーカーサポートはいっさいうけられず全て自分自身で対処しなくてはならない。

損害発生しても、それは全て自分自身で負担しなくてはならない。

 

無限の自由と引替えに、大きな自己責任を負う。それがデメリットだ。

 

かつてのスマホは性能が悪く 、自己責任を承知のうえでRoot化なり脱獄せざるを得なかった。

しかし2019年現在のスマホはすっかり性能が良くなって、Root化や脱獄をするメリットよりもデメリットのほうが上回る。

Root化や脱獄という技術はすっかり廃れて過去のものとなった。iPhone脱獄を支えてきた Cydiaも間もなく閉鎖だと言われている。