攻撃は最大の防御なり

50代おやじの適当なブログです。

[Android]何故S-OFFを行うのか?

2011-08-16 01:12:11 | Android
前のrootとは何かの記事で書きましたが、rootは管理者ですからroot権限が使えれば一見何でも出来そうです。
しかしHTCの製品はちょっと特殊でして、rootであってもsystem領域の書き換えが出来ないようにセキュリティロックが掛かっています。これがS-ONです。
更にS-ONの状態では俺がシステムの一部を書き換えるのに使っているfastbootでの書き換えが出来ません。
この状態でroot権限が使えたとしても普通じゃ覗けないディレクトリ中を見てニヤニヤするか、一部の要root権限のアプリが使える様になるだけで
HTCが用意した使い方以外、何の手も加えられないんですよ。

もし、この状態である日突然あなたの使っていたスマフォがブート画面が表示されるだけで起動しなくなったとします。
そうするとHTCが用意しているRUU(Rom Update Utility)で初期化するしか直す方法が無くなります。
今まで折角使いやすくしてきた設定もインストしてきたアプリも皆消えてしまいます。
何かやる気を無くしますよね。
バックアップが取れればそんな問題も発生しないんですけど。

S-OFFを行うとカスタムROMの導入やsystem領域の書き換えとかが出来るようになりますが
弄っている人だって高いお金を出した機体ですから出来れば壊したくないわけです。
もし、おかしくしてしまってもバックアップから戻す事が出来るというお膳立てがあるから成り立っているのです。

S-OFFを行う恩恵は「バックアップが取れる状態になること」に尽きます。
別にS-OFFしたからと言ってカスタマイズしなきゃいけないわけでもありませんし、好きに使えばいいのです。

[Android] Androidの内部構成について

2011-08-16 01:08:12 | Android
今回はAndroidの内部構成について書きます。

・ Androidの起動モード

 Androidには通常起動モードとリカバリー起動モードがあります。
 通常起動はそのままなので分かるとして、
 リカバリー起動はファームのバージョンアップ適用時に使われるモードです。
 所謂、端末のメンテナンス用ですね。

・フラッシュメモリの構成

 Androidのファームウェアはフラッシュメモリに保存されています。
 ROMと呼ぶことが多いですが、ハード的なROMとは異なり書き換る事が可能です。
 このフラッシュメモリ領域はいくつかのパーティションに別れていて
 各々役割が異なります。
 代表的な領域と役割を以下に記載します。

 hboot領域

  所謂ブートローダーの領域です。
  Android起動時に最初に実行される場所で、
  ここが破壊されてしまうと起動不可に陥ります。
  S-OFFはこの領域を書き換えるので危険な行為ではあります。

 boot領域

  通常起動のシステム的にコアとなるファイルが納められた領域で
  Androidファイルシステム上のルートディレクトリに展開されます。
  この領域はファイル単体の変更、削除、新規作成が出来ない事になっています。
  変更する場合にはboot領域のイメージ(boot.img)を作って書き換える必要があります。

 recovery領域

  リカバリー起動時に使用されるファイルが納められた領域です。
  ファイル構成はboot領域とほぼ同じ内容で、
  やはりAndroidファイルシステムのルートディレクトリ上に展開されます。
  boot領域と同様にファイルの書き換え等は出来ません。

 system領域

  boot領域内のプログラムが実行される事により、
  Androidファイルシステム上の/system上にマウントされます。
  一定の手順を踏むことによりファイルの変更、追加、削除をすることが出来ます。
  設定から「工場出荷時に戻す」機能がありますが、
  この領域に加えた変更は元に戻りません。

 userdata領域

  Androidの個人設定や追加でインストしたアプリ等が保存される領域です。
  Androidファイルシステム上では/dataにマウントされます。
  「工場出荷時に戻す」はこの領域を消去することを指します。

 cache領域

  アプリのダウンロード時に一時保存キャッシュとして使用される領域です。
  Androidファイルシステム上では/cacheにマウントされます。

 radio領域

  スマートフォンの3G接続時に使用されるファームウェアが納められた領域です。
  Androidファイルシステム上からは見えない領域ですが
  新しいバージョンのradioに書き換える事により3Gの掴みが良くなったり、
  消費電力が抑えられたりする場合があります。
  但しradio領域とAndroidシステムには相性があるので、
  不用意に書き換えると不安定な状態に陥る場合があります。

 .android_secure領域

  アプリインスト時にSDカードにインストした場合の保存先です。
  当然本体の領域ではなく、/sdcard/.android_secureに存在します。
  この領域の中身は暗号化されていて通常は見ることが出来ません。
  このようにドットから始まる名称のディレクトリやファイルは
  隠しファイルを意味し特殊な用途に使用されます。