でみっこの備忘録☆Chu

でみっこの備忘録です。てきとーなのです。ごりょうしょうあれ。

☆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化する前によんでね!☆

でみっこが試した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化するにはある脆弱性を使っています。

f:id:kumanotabi:20180208171501p:plain

その脆弱性というのは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化といえばkingorootDr.foneを使う方法が有名です。ほぼ自動でroot化してくれるのでとても楽です。

これらのソフトウェアでroot化するには別の方が日本語で紹介されているので、そちらをご覧いただければと思います!

しかしこれらのソフトウェアにはバックドアが仕込まれていてシリアルやIMEI等の情報が抜き取られる可能性があります。

うまい話にはなんとやらです(;´∀`)

実際にkingorootをDLしようとすると、ESET(ウィルス対策ソフト)が危険なURLリストに載ってますよ!と警告してきます。

そんな危機意識が高めな人向けにXDAフォーラムに投稿されたのが”Offline rooting”と呼ばれる新たなroot化方法です。この方法では外部ソフトウェアを使うことなく、ほぼすべてローカルで完結します。以下がそのスレッドへのリンクです。(英語注意!)

forum.xda-developers.com

オフラインroot化法はコマンドプロンプトを使って作業するため、パソコンにある程度精通していて、かつadbコマンドを知ってないと険しい道のりです。

でもだいじょーぶ!安心してください!でみっこが優しく丁寧に解説しますよ☆(ホントカナ?)

 

この方法は上のXDAの方法をgoogle先生に翻訳してもらって、試行錯誤しながらやっと出来たものです!誤訳や方法が間違ってるかもしれないので、その場合指摘していただければと思います。

なお、オリジナルの方法だとできなかったところがあるため少しアレンジしてます。

 

では、早速行ってみましょー!!

☆オフラインroot化のやりかた解説!☆

★じゅんびするもの★

・PC

Android SDK Platform Tools

kindle_fire_usb_driver.zip

20165195.zip(Exploit用ファイル)

SuperSU_18+.zip(root化用ファイル)

・SuperSU 2.82 SR5 apk(Google Playか野良マーケットから入手してください。)

 

★下ごしらえ★

☆★その1Fireタブ上での操作★☆

root化を始めるために前準備から行きます。まずFire HD 10(以下Fireタブ)

上での作業です。

Fireタブを起動し、ロック画面を解除します。

f:id:kumanotabi:20180208212318j:plain

機内モードを有効化してください。

f:id:kumanotabi:20180208213022j:plain

設定から

f:id:kumanotabi:20180208213202j:plain

端末オプション

f:id:kumanotabi:20180208213719j:plain

”シリアル番号”をタップ連打!

f:id:kumanotabi:20180209160648j:plain

すると開”発者オプション”という項目が出現します。これをタップ!

f:id:kumanotabi:20180208214251j:plain

デバック項目の”ADBを有効にする”をタップ

f:id:kumanotabi:20180208214247j:plain

警告が出てきますがそのまま”有効にする”をタップ

f:id:kumanotabi:20180208213158j:plain

設定まで戻ります。そして個人項目の”セキュリティ”をタップ

f:id:kumanotabi:20180208214757j:plain

詳細設定項目の”不明なソース”からのアプリ”をタップ

f:id:kumanotabi:20180208214810j:plain

こちらも警告出てきますがそのまま”OK”をタップ

以上でFireタブ上での作業は一旦終わりです。

 

☆★ADBデバイスとして読み込ませる★☆

一度FireタブをUSBでPCにつなぎます。

繋いだらコンピュータを右クリックで管理を選択します。

バイスマネージャーをクリックします。

f:id:kumanotabi:20180209142450p:plain

"ポータブルデバイス"があると思うので展開!

f:id:kumanotabi:20180209142508p:plain

"Fire"を右クリックでプロパティを開きます。

f:id:kumanotabi:20180209142538p:plain

f:id:kumanotabi:20180209142555p:plain

ドライバータブから”デバイスのアンインストール”をクリックしドライバーをいったん削除します。

f:id:kumanotabi:20180209142713p:plain

”アンインストール”をクリック!

f:id:kumanotabi:20180209142755p:plain

すると”ポータブルデバイス”が無くなってます!

ここで一旦FireタブのUSBケーブルをPCから抜きます。

次にFireタブ用ADBドライバのDLを行います。

f:id:kumanotabi:20180209143348p:plain

”(Windows user) Install the USB driver for Windows.”をクリック!

f:id:kumanotabi:20180209143341p:plain

アンダーライン引いたところをクリックして”kindle_fire_usb_driver.zip”をDLします。

f:id:kumanotabi:20180209142909p:plain

解凍して出てきた”Fire_Devices ADB drivers.exe”をインストールします。

f:id:kumanotabi:20180209143909p:plain

”Install”ボタンをクリック!

f:id:kumanotabi:20180209143916p:plain

”インストール”をクリック!

f:id:kumanotabi:20180209143918p:plain

”完了”をクリック!

f:id:kumanotabi:20180209143919p:plain

再起動を求められるので、”今すぐ再起動する”をクリックし再起動します。

 

PCを再起動後、Fireタブをもう一度PCに接続します。

f:id:kumanotabi:20180209144548j:plain

この時、Fireタブ上で”USBデバッグを許可しますか?”と聞いてくるので、1の”このコンピューターを常に許可”にチェックを入れて2の”OK"を押します。

f:id:kumanotabi:20180209144755p:plain

その後デバイスマネージャーを開くと”ポータブルデバイス”の”Fire”が”Fire Devices”の”Android Composite ADB Interface”となっていることを確認してください。

 

☆★Android SDK Platform Toolsをインストール★☆

ADBコマンドを使うために Android SDK Platform ToolsをDLします。

※すでにAndroid Studioをインストールしている方はDLする必要はありません。

f:id:kumanotabi:20180209150201p:plain

SDK Platform-Tools for Windows”をクリック!

f:id:kumanotabi:20180209150316p:plain

チェックボックスにチェックを入れて、DOWNLOADボタンを押します。

f:id:kumanotabi:20180209150710p:plain

DLしたら、解凍します。

f:id:kumanotabi:20180209150725p:plain

解凍してできた”platform-tools"フォルダをCドライブ直下にコピーします。

これだけではADBコマンドが使えないので、環境変数でPATHを通します。まず、コントロールパネルを開きます。

f:id:kumanotabi:20180209154236p:plain

”システム”をクリック

f:id:kumanotabi:20180209154254p:plain

”システムの詳細設定”をクリック

f:id:kumanotabi:20180209154317p:plain

詳細設定タブの”環境変数(N)...”をクリック

f:id:kumanotabi:20180209154625p:plain

ユーザーの環境変数とシステムの環境変数があると思います。変数欄のPathを選択し編集をクリック

新規をクリックし以下のパスを記述します。

Android SDK Platform ToolsをDLし、Cドライブ直下に置いた人

f:id:kumanotabi:20180209154754p:plain

C:\platform-tools

 

Android Studioインストール済みの人

f:id:kumanotabi:20180209154832p:plain

C:\Users\”ユーザー名”\AppData\Local\Android\sdk\platform-tools

※ユーザー名のところは自分のPCのアカウント名を入れてください。

記述したらOKボタンを押し閉じます。

f:id:kumanotabi:20180209155516p:plain

終わったら”コマンドプロンプト”をスタートメニューから起動します。

f:id:kumanotabi:20180209160344p:plain

または検索に”cmd”と記入しエンターキー押せば起動できます。

f:id:kumanotabi:20180209155541p:plain

起動するとこんな画面になります!

f:id:kumanotabi:20180209155740p:plain

起動できたら以下のコマンドを入力し、Enterします。

adb

f:id:kumanotabi:20180209155619p:plain

こんかんじでずらーっと出てくればちゃんと出来てます!(∩´∀`)∩ワーイ

f:id:kumanotabi:20180209160000p:plain

こうなったらもう一回パスが正しいかを確認してください。(;´∀`)

なお、記述後一度コマンドプロンプトを閉じ、再度起動しないと反映されず、いくらやってもエラーとなるため注意が必要です。

 

☆★root化用ファイルの整理★☆

f:id:kumanotabi:20180209124454p:plain

 ”SuperSU_18+.zip”と”20165195.zip”、”SuperSU 2.82 SR5.apk”をDLしてください。

f:id:kumanotabi:20180209124610p:plain

 ”SuperSU_18+.zip”と”20165195.zip”の2つを解凍してください。

f:id:kumanotabi:20180209124626p:plain

新たに”c”というフォルダを作成します。

f:id:kumanotabi:20180209124652p:plain

”SuperSU_18+”からddexe、debuggerd、install-recovery.sh、pidof、start_wssud.sh、su、su_arm64、supolicy、toolbox、wsroot.shの10個のファイルを"c"フォルダにコピーします。

f:id:kumanotabi:20180209124711p:plain

”SuperSU_18+”からコピーが終わった時点での"c"フォルダの中身です。

f:id:kumanotabi:20180209124832p:plain

”20165195.zip”からはfileWork、Matrixの2個のファイルを"c"フォルダにコピーします。

f:id:kumanotabi:20180209124909p:plain

”20165195.zip”からコピーが終わった時点での"c"フォルダの中身です。

f:id:kumanotabi:20180209124926p:plain

”SuperSU 2.82 SR5.apk”も"c"フォルダにコピーします。

f:id:kumanotabi:20180209124950p:plain

”c”フォルダの中には13個のファイルが入っているはずです。

FireタブをUSBで接続し、この”c”フォルダを内部ストレージにコピーします。

f:id:kumanotabi:20180209162455p:plain

エクスプローラーを開き、アドレス欄に以下のアドレスを入力してください。

PC\Fire\内部ストレージ

f:id:kumanotabi:20180209162459p:plain

ここに先程作った”c”フォルダをコピーします。

以上で下ごしらえは終わりです!次はいよいよroot化作業に移ります!!(*´▽`*)

 

★root化作業★

☆★ファイルの移動★☆

まず、ここからの作業は最悪文鎮化の危険性があるので、しっかり読んでから行ってください!また、何があっても自己責任でお願いします。(;´∀`)

 

FireタブがUSB接続されていることを確認してください。

 

コマンドプロンプトを起動します。

f:id:kumanotabi:20180208225147p:plain

次のコマンドを入力してください。

adb shell

f:id:kumanotabi:20180208225205p:plain

するとこのような画面になります。

 

☆★”/data/local/tmp”に"c"フォルダの中身をコピー★☆

f:id:kumanotabi:20180208225242p:plain

問題なければ次のコマンドを入力します。

cp /mnt/shell/emulated/0/c/* /data/local/tmp

f:id:kumanotabi:20180208225247p:plain

するとこのような画面が出ます。

f:id:kumanotabi:20180208225301p:plain

次にこのコマンドを入力します。

cd /data/local/tmp

f:id:kumanotabi:20180208225315p:plain

するとこのような画面になります。

f:id:kumanotabi:20180208225332p:plain

次にこのコマンドを入力します。

ls -l

f:id:kumanotabi:20180208225345p:plain

するとこのような画面になります。

 

☆★権限の変更★☆

f:id:kumanotabi:20180208225402p:plain

次のコマンドを入力します。

chmod 755 *

f:id:kumanotabi:20180208225414p:plain

すると、この画面になります。

 

☆★Exploitを実行し、root権限取得★☆

いよいよroot権限を取得していきます!ここからが本番です!!

f:id:kumanotabi:20180208235112p:plain

次のコマンドを入力してください。

./Matrix /data/local/tmp 2

f:id:kumanotabi:20180209120835p:plain

f:id:kumanotabi:20180209120839p:plain

するとこの画面になります。

最初の”./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化までのやり方は全く同じです!

結果だけ貼っておきます。

f:id:kumanotabi:20180211040214p:plain

f:id:kumanotabi:20180211040204p:plain

f:id:kumanotabi:20180211040208p:plain

buildpropのversion.releaseが5.1.1と表示されてますが、これはAndroidのバージョンなので間違いではないです。Fire OS 5がたしかAndroid 5.1.1ベースのため。

一応ADBコマンドでsuの状態でbuildpropが証拠となってしまうのですが、ほかにも証拠欲しいという方いればコメントください。 

公式ROMでもroot化出来るみたいです。

 

 

f:id:kumanotabi:20180209121313p:plain

無事成功したら次のコマンドを入力します。

su ※注意:SuperSU導入後だとうまくいかないようです(3/9追記)

f:id:kumanotabi:20180208235140p:plain

無事rootが取れていればこの画面になります。

 

f:id:kumanotabi:20180208215828j:plain

Fireタブ上で”ドキュメント”を起動します。

f:id:kumanotabi:20180208215908j:plain

ローカルストレージをタップ!

f:id:kumanotabi:20180208215915j:plain

cフォルダをタップ!

f:id:kumanotabi:20180208215919j:plain

SuperSUのapkをタップ!

f:id:kumanotabi:20180208220049j:plain

インストールボタンをタップ!

f:id:kumanotabi:20180208220341j:plain

インストールが終わったら起動します。

f:id:kumanotabi:20180208215301j:plain

”Start”をタップ!

f:id:kumanotabi:20180208215252j:plain

”SUバイナリのアップデートが必要です。続行しますか?”時変えるので”続行”をタップ!

f:id:kumanotabi:20180208215238j:plain

”通常”をタップ!

f:id:kumanotabi:20180208215157j:plain

”再起動”をタップ!

 

 

SuperSU導入後の必須処理

root化後suコマンドが通らない、SuperSUをインストールすると、root化が解除されてしまうというコメントを頂き、こちらでも検証してみました。

どうやらというかでみっこが単に書き忘れていただけなのですが、SuperSUでの設定しないとsuコマンドはもちろんRootアプリが動きません!(;´Д`)ゴメンナサイ

 

と!いうわけでっ!

 

root化後の後処理としてSuperSUの設定を行います!

まず、SuperSUを起動します。

f:id:kumanotabi:20180309205816p:plain

”設定”タブをタップします。

f:id:kumanotabi:20180309205755p:plain

”アクセス権”項目の”既定のアクセス権”が[プロンプト]となっているかと思います。

f:id:kumanotabi:20180309205803p:plain

タップすると”アクセス権の初期値の選択”と出るので”プロンプト”から”許可”にします。

こうなれば無事設定終わりです。

f:id:kumanotabi:20180309205811p:plain

一応先程同様、コマンドプロンプト

ADB shell

su

と打ち込んでちゃんとroot@suezとなっているか確認してください。

 

☆★後処理★☆

/ data / data-lib /にある2つのwondershareディレクトリを削除します。

f:id:kumanotabi:20180209120234p:plain

コマンドプロンプトで次のコマンドを入力します。

cd / data / data-lib

f:id:kumanotabi:20180209120315p:plain

するとこんな画面になります。

f:id:kumanotabi:20180209120403p:plain

次のコマンドを入力します。

rm -r com.wondershare.DashRoot

f:id:kumanotabi:20180209120410p:plain

するとこんな画面になります。

f:id:kumanotabi:20180209120453p:plain

最後にこのコマンドを入力します。

rm -r wondershare

f:id:kumanotabi:20180209120600p:plain

こんな画面になれば後処理も終わりです!!

 

以上でroot化は終了です!お疲れ様でしたー!!(`・ω・´)ゞ

 

また何かあったら追記します!(/・ω・)/

[3/9追記]その何かあったので追記します。( ;´Д`)