HTC Desire HD (Softbank 001HT) Android 2.3.3からのroot取得手順(1)

HTC Desire HD ACE(Softbank 001HT)のroot取り手順(1)
 
 えーと、この記事は電話ヲタになりつつある素人Androidユーザ向けの話である。興味の無い人はスルーで。
 先日、ソフトバンクの001HTを市場在庫の状態で買ったが、そんな奴をとある大型掲示板では「乞食」と呼ぶらしい。しかし、全く気にならない。定価の20分の1で買えるのだから、先人の人柱の方々の出費と研究結果を最大限に活用させて頂いた。
 なぜ001HTにしたかといえば先日も書いた通りAndroid2.3.3へのアップデートがあったからである。その日の内にアップデートしてしまったのが後の祭り。rootユーザ権限を取ることがこんなに難しくなるとは思っていなかった。
 
 ニッチな需要だと思うが、リンク切れが発生し始めた情報のかけらを集め、現時点で私が成功したroot取得の手順を書いていこうと思う。因みに画面の絵や写真は無いので念のため。
 
 毎度の断り書き、この一連の記事の通りにやってあなたや、それ以外の人に被害が発生しても、私を含め誰も何も保証しない。全ては自己責任で行うことだ。
 
 初期状態:ソフトバンクの正規お知らせからアップデートしたAndroid2.3.3、当然root無し、S-ON、SIMロックあり。
 
 大雑把な流れ
Step 1: goldcard作成
Step 2: それにDesire HD用の旧ROMを書き込んでバックデートする。
Step 3: 適当なツールを使ってroot取り、S-OFFにする。但し、ここでroot取っても2.3.3に戻した時点で戻ってしまうので一時的なもの。S-OFFにするのが主目的。
Step 4: 2.3.3に戻す。
Step 5: 適当なツールでroot再取得。
Step 1-3はここの記事を実施したのみである。唯一ここだけが完全なリソースの組み合わせを持っていたから。
 
 準備するもの
・バックアップを取った001HT…本作業で全ての内容は初期化される。
・1GBか2GBのmicroSDカード一枚。
・HTC SyncをインストールしたPC。ここではWindows機を使っている。001HTの接続が可能なことを確認しておくこと。要ネット接続。
・最悪電話がレンガ(brick)…日本じゃ文鎮って呼んでる、になっても良いと言う諦観。
 尚、これから書く一連の文章を、私が最後まで書き終わってから実施しようとする人は、最初に全てのリンク先にあるあらゆるリソースをダウンロードするようにした方がよい。

今回はStep 1、goldcardの作成である。
 ここまで読んでこられた2.3.3 無改造Desire HD所有者はたった今、これを行うことを勧める。なぜなら、これにはあるサイトの存続が前提であり、私には供給できないから。一年後、あなたの気が変わってroot取りを行おうとするかも知れない。でもサイトが死んでいれば、こればかりは私にはどうすることもできない。
 
(1) 上述のこのサイトから、Downgrade_v3.zipをPCにダウンロードし、適当な場所に展開。
(2) ここからバイナリエディタHxD Hex Editor 日本語版をダウンロード、インストールする。
(2) 用意したmicroSDをWindowsでFAT32でフォーマット。名前は何でも良い。仮にgoldcardとする。
(3) それを001HTに挿し、認識させ、USBデバッグモードでPCと接続する(接続タイプは「充電のみ」)
(4) コマンドプロンプトを起動し、(1)を解凍した場所に移動。
(5) 次のコマンドを打つ。
 adb shell cat /sys/class/mmc_host/mmc2/mmc2:*/cid
 この下に長い英数字が現れるので、それをメモ帳にコピペしておく。
(6) ここにアクセスし、空欄に先ほどの英数字をコピペしてsubmitボタンを押す。
(7) すると"Yer done!"の下にまた長いコードが現れるのでまたメモ帳にコピペする。これをリバースドCIDコードと呼ぶ。
※うーん、(6)(7)でやっていることって…確認したわけじゃないですが

オリジナルCIDコードが
 123456…456789
の場合、まず二桁ずつに分離
 12 34 56 … 45 67 89
最後を00にする。
 12 34 56 … 45 67 00
そして二桁単位で前後反転
 00 67 45 … 56 34 12
そして二桁分割を取る
 006745…563412
 
ってことみたいです。(人柱は、あ・な・た)
 
[後日追記] goldcard helperと言うアンドロイドアプリか、GoldCardTool_Subrataと言うWindowsアプリを使えば、今挿しているSDカードのここまでの値は簡単に取れます。こいつらは簡単にマーケットやググれる範囲に転がってる。しかしその後は(8)のサイトを利用せよ、って話。

(8) 今度はここにアクセスし、メアド(二回)とCIDコード、Select goldcard typeはAndroid、イメージから読み取った文字、を入力してGenerate Goldcard!ボタンを押す。切れました。復活しました。うにょーまた切れたよ。そろそろ終わりか。(ここにgoldcardを単独生成するperlスクリプトが載ってます。が、会員にならないと取れない。このページの手順から逸脱しますが、使えたらどこかで手順を公開して下さい。)
 
[後日追記]上記らしきスクリプト見つけました。でも会員になっていないのでちょっとここでは公開がはばかられる。キーワードは"Goldcard_Perl_Generator.zip"。さあ、探せ。但し、内容はチラ見しただけで動作検証してない(もう不要なので)。
 modacoにはアプリがあるみたい。でも別のURLに連れていかれて会員登録しないと落とせないんで止めました(もう不要なので)。

(9) 数分で、先ほど入力したメアドにgoldcard.imgなるファイルが添付されてメールが来る。それを適当な位置に保存する。
[後日追記]もちろん何かで自製した場合はこのステップは無い。

(10) HxD Hex Editorを起動する。
  エクストラ → ディスクを開く → 「読み取り専用として開く」のチェックを外して、物理ディスクのリムーバブルディスクを選択し、OKをクリック。このとき、要らぬリムーバブルメディアを挿入していると誤って選択してしまうことがある。SDカード以外は事前に外しておく。
(11) そのまま、今度はエクストラ → ディスク イメージを開く で、先ほどのgoldcard.imgを選択。
セクタ サイズは、512(ハードディスク/フロッピー・・・)
goldcard.imgタブを選択し、編集 すべて選択の後、編集 → コピー。
(12) (10)の画面に戻り、先頭から170番地までの行を選択(厳密には0から17fまでを選択していることになる)し、そこに上書きペーストする。
(13) 保存してエディタを終了する。これでできたカードがgoldcardなので、大切に保存する。
※ディスクそのものを選択する場合と、ディスクイメージファイルを選択するところで間違えないように。
 
 今日はここまで。
[後日追記]
 この手順であなたが何をやっているか、ってことだけど、Androidのクラック用の道具を作っている。但し、その方法を自分で探らなかった我々は単なる「教えてクン」であり、得意げに回りに話すとただの厨。この話は単なるリソース伝達のための追っかけ。本尊は勿論ArkdroidさんとXDAとmodaco。モラルのために知っておいた方が良いと思ったので。