☆root化・2018最新☆第7世代 kindle Fire HD 10 2017 Fire OS 5.4.1.0 ~ 5.6.0.1 オフラインでroot化してみた!最新5.6.0.1も可能!!
こんにちわ!でみっこですっ!!(`・ω・´)ノ
demikko-no-bibouroku.hatenablog.com
前回買ったFire HD 10をroot化したので、やり方をまとめておきます!!
2月11日 追記:新たに最新のFire OS 5.6.0.1でもこの手法でroot化出来ましたのでご報告いたします!!!Σ( ゚Д゚)ナンダッテ!
- ☆root化する前によんでね!☆
- ☆root化方法について!☆
- ☆オフラインroot化のやりかた解説!☆
- ☆最新Fire OS 5.6.0.1 root化編☆
- SuperSU導入後の必須処理
- ☆★後処理★☆
☆root化する前によんでね!☆
でみっこが試したFire OSのバージョンは5.4.1.0とHD 10の最初期ファームですが、5.5.0.0や5.6.0.0でもできるはずです。XDAフォーラムでは5.6.0.0で行ってました。
※小耳にはさんだ情報だと最新の5.6.0.1でもできるとかなんとか!←出来ました!!(2月11日現在)
※Fire HD 10(2017 第7世代)のみ可能です。第6世代以降のFire HD 8やFire 7ではいまだroot化は出来ません。
ではなぜ最新のFire HD 10だけroot化できるのでしょう?
今回行うOffline rootingという手法やkingoroot等でroot化するにはある脆弱性を使っています。
その脆弱性というのは2016年12月に大きな問題となった”CVE-2016-5195”、別名"Dirty COW"(だーてぃーかう:汚い牛?)を利用(悪用?)してます。
Linux kernelのメモリサブシステムにおいて「copy-on-write(COW)」を処理する方法に起因しており、権限を持たないユーザーがRead-Onlyメモリへの書込可能な権限を取得できてしまうことにより、システム上のroot権限を取得される可能性
この脆弱性は実に10年以上も前からLinux上に存在していたバグで、当然Linux系OSであるAndroidもその例外ではありませんでした。2017年9月の時点でこれを悪用したAndroid用マルウェアが仕込まれたアプリが次々と開発されているみたいです。
しかし、この問題はAndroidでも2016年の12月のセキュリティーパッチで対策済みで、Fire OS でも同様にパッチで塞がれたはずでした。第6世代以降のFire HD 8やFire 7がroot化できないのはこのためです。
しかし、なぜかFire HD 10ではこの穴が塞がれておらず、そのままリリースとなったため、最新端末にしてroot化が可能な神タブレットとなってしまったのです。
と同時に、穴が塞がれていないということは知らないうちにroot権限取られてしまい、ユーザーの行動がすべて攻撃者に筒抜け、最悪パスワードや個人情報も抜き取られる可能性があります。
この脆弱性の厄介なところは痕跡が残らないため、攻撃に気が付きにくいということ、また、カーネルレベルでの脆弱性のため、ウィルス対策ソフトでも防げないということだと思います。なので少しでも怪しいと思うアプリは絶対にインストールしてはいけません!!
☆root化方法について!☆
Fire HD 10 (2017)のroot化といえばkingorootやDr.foneを使う方法が有名です。ほぼ自動でroot化してくれるのでとても楽です。
これらのソフトウェアでroot化するには別の方が日本語で紹介されているので、そちらをご覧いただければと思います!
しかしこれらのソフトウェアにはバックドアが仕込まれていてシリアルやIMEI等の情報が抜き取られる可能性があります。
うまい話にはなんとやらです(;´∀`)
実際にkingorootをDLしようとすると、ESET(ウィルス対策ソフト)が危険なURLリストに載ってますよ!と警告してきます。
そんな危機意識が高めな人向けにXDAフォーラムに投稿されたのが”Offline rooting”と呼ばれる新たなroot化方法です。この方法では外部ソフトウェアを使うことなく、ほぼすべてローカルで完結します。以下がそのスレッドへのリンクです。(英語注意!)
オフラインroot化法はコマンドプロンプトを使って作業するため、パソコンにある程度精通していて、かつadbコマンドを知ってないと険しい道のりです。
でもだいじょーぶ!安心してください!でみっこが優しく丁寧に解説しますよ☆(ホントカナ?)
この方法は上のXDAの方法をgoogle先生に翻訳してもらって、試行錯誤しながらやっと出来たものです!誤訳や方法が間違ってるかもしれないので、その場合指摘していただければと思います。
なお、オリジナルの方法だとできなかったところがあるため少しアレンジしてます。
では、早速行ってみましょー!!
☆オフラインroot化のやりかた解説!☆
★じゅんびするもの★
・PC
・20165195.zip(Exploit用ファイル)
・SuperSU_18+.zip(root化用ファイル)
・SuperSU 2.82 SR5 apk(Google Playか野良マーケットから入手してください。)
★下ごしらえ★
☆★その1Fireタブ上での操作★☆
root化を始めるために前準備から行きます。まずFire HD 10(以下Fireタブ)
上での作業です。
Fireタブを起動し、ロック画面を解除します。
機内モードを有効化してください。
設定から
端末オプション
”シリアル番号”をタップ連打!
すると開”発者オプション”という項目が出現します。これをタップ!
デバック項目の”ADBを有効にする”をタップ
警告が出てきますがそのまま”有効にする”をタップ
設定まで戻ります。そして個人項目の”セキュリティ”をタップ
詳細設定項目の”不明なソース”からのアプリ”をタップ
こちらも警告出てきますがそのまま”OK”をタップ
以上でFireタブ上での作業は一旦終わりです。
☆★ADBデバイスとして読み込ませる★☆
一度FireタブをUSBでPCにつなぎます。
繋いだらコンピュータを右クリックで管理を選択します。
デバイスマネージャーをクリックします。
"ポータブルデバイス"があると思うので展開!
"Fire"を右クリックでプロパティを開きます。
ドライバータブから”デバイスのアンインストール”をクリックしドライバーをいったん削除します。
”アンインストール”をクリック!
すると”ポータブルデバイス”が無くなってます!
ここで一旦FireタブのUSBケーブルをPCから抜きます。
次にFireタブ用ADBドライバのDLを行います。
”(Windows user) Install the USB driver for Windows.”をクリック!
アンダーライン引いたところをクリックして”kindle_fire_usb_driver.zip”をDLします。
解凍して出てきた”Fire_Devices ADB drivers.exe”をインストールします。
”Install”ボタンをクリック!
”インストール”をクリック!
”完了”をクリック!
再起動を求められるので、”今すぐ再起動する”をクリックし再起動します。
PCを再起動後、Fireタブをもう一度PCに接続します。
この時、Fireタブ上で”USBデバッグを許可しますか?”と聞いてくるので、1の”このコンピューターを常に許可”にチェックを入れて2の”OK"を押します。
その後デバイスマネージャーを開くと”ポータブルデバイス”の”Fire”が”Fire Devices”の”Android Composite ADB Interface”となっていることを確認してください。
☆★Android SDK Platform Toolsをインストール★☆
ADBコマンドを使うために Android SDK Platform ToolsをDLします。
※すでにAndroid Studioをインストールしている方はDLする必要はありません。
”SDK Platform-Tools for Windows”をクリック!
チェックボックスにチェックを入れて、DOWNLOADボタンを押します。
DLしたら、解凍します。
解凍してできた”platform-tools"フォルダをCドライブ直下にコピーします。
これだけではADBコマンドが使えないので、環境変数でPATHを通します。まず、コントロールパネルを開きます。
”システム”をクリック
”システムの詳細設定”をクリック
詳細設定タブの”環境変数(N)...”をクリック
ユーザーの環境変数とシステムの環境変数があると思います。変数欄のPathを選択し編集をクリック
新規をクリックし以下のパスを記述します。
・Android SDK Platform ToolsをDLし、Cドライブ直下に置いた人
C:\platform-tools
・Android Studioインストール済みの人
C:\Users\”ユーザー名”\AppData\Local\Android\sdk\platform-tools
※ユーザー名のところは自分のPCのアカウント名を入れてください。
記述したらOKボタンを押し閉じます。
終わったら”コマンドプロンプト”をスタートメニューから起動します。
または検索に”cmd”と記入しエンターキー押せば起動できます。
起動するとこんな画面になります!
起動できたら以下のコマンドを入力し、Enterします。
adb
こんかんじでずらーっと出てくればちゃんと出来てます!(∩´∀`)∩ワーイ
こうなったらもう一回パスが正しいかを確認してください。(;´∀`)
なお、記述後一度コマンドプロンプトを閉じ、再度起動しないと反映されず、いくらやってもエラーとなるため注意が必要です。
☆★root化用ファイルの整理★☆
”SuperSU_18+.zip”と”20165195.zip”、”SuperSU 2.82 SR5.apk”をDLしてください。
”SuperSU_18+.zip”と”20165195.zip”の2つを解凍してください。
新たに”c”というフォルダを作成します。
”SuperSU_18+”からddexe、debuggerd、install-recovery.sh、pidof、start_wssud.sh、su、su_arm64、supolicy、toolbox、wsroot.shの10個のファイルを"c"フォルダにコピーします。
”SuperSU_18+”からコピーが終わった時点での"c"フォルダの中身です。
”20165195.zip”からはfileWork、Matrixの2個のファイルを"c"フォルダにコピーします。
”20165195.zip”からコピーが終わった時点での"c"フォルダの中身です。
”SuperSU 2.82 SR5.apk”も"c"フォルダにコピーします。
”c”フォルダの中には13個のファイルが入っているはずです。
FireタブをUSBで接続し、この”c”フォルダを内部ストレージにコピーします。
エクスプローラーを開き、アドレス欄に以下のアドレスを入力してください。
PC\Fire\内部ストレージ
ここに先程作った”c”フォルダをコピーします。
以上で下ごしらえは終わりです!次はいよいよroot化作業に移ります!!(*´▽`*)
★root化作業★
☆★ファイルの移動★☆
まず、ここからの作業は最悪文鎮化の危険性があるので、しっかり読んでから行ってください!また、何があっても自己責任でお願いします。(;´∀`)
FireタブがUSB接続されていることを確認してください。
コマンドプロンプトを起動します。
次のコマンドを入力してください。
adb shell
するとこのような画面になります。
☆★”/data/local/tmp”に"c"フォルダの中身をコピー★☆
問題なければ次のコマンドを入力します。
cp /mnt/shell/emulated/0/c/* /data/local/tmp
するとこのような画面が出ます。
次にこのコマンドを入力します。
cd /data/local/tmp
するとこのような画面になります。
次にこのコマンドを入力します。
ls -l
するとこのような画面になります。
☆★権限の変更★☆
次のコマンドを入力します。
chmod 755 *
すると、この画面になります。
☆★Exploitを実行し、root権限取得★☆
いよいよroot権限を取得していきます!ここからが本番です!!
次のコマンドを入力してください。
./Matrix /data/local/tmp 2
するとこの画面になります。
最初の”./Matrix”で”/ data / local / tmp”内のファイルを探すように指示し、 "2"で”/ system / xbin”にsuをインストールします。
作業完了まで1分ほどかかります。
作業が終わると次のようなメッセージが表示されます。
[*] exploited 0x7f83021000=f97cff8c
end!!!!!!!
<WSRoot><Exploit>0</Exploit></WSRoot>
<WSRoot><Done>0</Done></WSRoot>※0x7f83021000はその時その時で変わります。
このように表示されない場合失敗しています。
その場合、端末を強制再起動させてください。強制再起動のやり方はボリュームの-ボタンと電源ボタンを同時に長押しします。
再起動後、再び☆★”/data/local/tmp”に"c"フォルダの中身をコピー★☆からやり直してください!
なお、最後の2行
<WSRoot><Exploit>0</Exploit></WSRoot>
<WSRoot><Done>0</Done></WSRoot>
が表示されいなくても前2行が表示されていれば一応root化成功しています。いくら待っても表示されない場合、焦らず後処理に進んで大丈夫です。
もし気になるようだったら、再起動して再び☆★”/data/local/tmp”に"c"フォルダの中身をコピー★☆からおこないます。
何度か行えば成功するはずです!!
ちなみにでみっこは1回失敗してます...(´;ω;`)
注意!このままネットにつなげると勝手にアップデートが入ってroot化解除されてしまいます!
対策方法はOTAアップデートを無効化しなければなりません(;´∀`)
次回は、そのOTAアップデートの無効化方法について行います!
demikko-no-bibouroku.hatenablog.com
☆最新Fire OS 5.6.0.1 root化編☆
5.4.1.0 rootedはwifiが安定せず、再起動頻発しました。
そこで物は試しとXDAにあった5.6.0.1のROMをADB sideloadで焼き、通常のオフラインroot化を実行しました。3回目で成功しました!
公式ROMでの検証は行ってないので、もしうまくいったらコメントください!
うまくいかないようでしたら、以下のコマンドで先程のXDAのROMを焼いてから同様に行ってください。ROM焼きは文鎮化の可能性あるので注意!何があっても自己責任で!
adb sideload update-kindle-40.5.9.5_user_595550320.bin
root化までのやり方は全く同じです!
結果だけ貼っておきます。
buildpropのversion.releaseが5.1.1と表示されてますが、これはAndroidのバージョンなので間違いではないです。Fire OS 5がたしかAndroid 5.1.1ベースのため。
一応ADBコマンドでsuの状態でbuildpropが証拠となってしまうのですが、ほかにも証拠欲しいという方いればコメントください。
公式ROMでもroot化出来るみたいです。
無事成功したら次のコマンドを入力します。
su ※注意:SuperSU導入後だとうまくいかないようです(3/9追記)
無事rootが取れていればこの画面になります。
Fireタブ上で”ドキュメント”を起動します。
ローカルストレージをタップ!
cフォルダをタップ!
SuperSUのapkをタップ!
インストールボタンをタップ!
インストールが終わったら起動します。
”Start”をタップ!
”SUバイナリのアップデートが必要です。続行しますか?”時変えるので”続行”をタップ!
”通常”をタップ!
”再起動”をタップ!
SuperSU導入後の必須処理
root化後suコマンドが通らない、SuperSUをインストールすると、root化が解除されてしまうというコメントを頂き、こちらでも検証してみました。
どうやらというかでみっこが単に書き忘れていただけなのですが、SuperSUでの設定しないとsuコマンドはもちろんRootアプリが動きません!(;´Д`)ゴメンナサイ
と!いうわけでっ!
root化後の後処理としてSuperSUの設定を行います!
まず、SuperSUを起動します。
”設定”タブをタップします。
”アクセス権”項目の”既定のアクセス権”が[プロンプト]となっているかと思います。
タップすると”アクセス権の初期値の選択”と出るので”プロンプト”から”許可”にします。
こうなれば無事設定終わりです。
一応先程同様、コマンドプロンプトで
ADB shell
su
と打ち込んでちゃんとroot@suezとなっているか確認してください。
☆★後処理★☆
/ data / data-lib /にある2つのwondershareディレクトリを削除します。
コマンドプロンプトで次のコマンドを入力します。
cd / data / data-lib
するとこんな画面になります。
次のコマンドを入力します。
rm -r com.wondershare.DashRoot
するとこんな画面になります。
最後にこのコマンドを入力します。
rm -r wondershare
こんな画面になれば後処理も終わりです!!
以上でroot化は終了です!お疲れ様でしたー!!(`・ω・´)ゞ
また何かあったら追記します!(/・ω・)/
[3/9追記]その何かあったので追記します。( ;´Д`)