03 April 2019

Amazon Fire HD 8 (2018 第8世代)の一時root権限取得と不要アプリ無効化

4ヶ月ほど前(2018年12月)にサイバーマンデーで購入したFire HD 8は、root権限を取ることも、何らかの脆弱性を利用してプリインストールアプリを無効化することもできなかった。

2ヶ月前(2019年2月26日)、コマンドラインでrootに昇格する方法がxdaで公開された。

xda 『Experimental Software Root for HD 8 & HD 10
(Software root method found for Mediatek MT816x, MT817x and MT67xx!)

ここで公開されたプログラムは、Fire HD 8(2018 第8世代)に見事に適合!

一時的にroot権限を得る

mtk-su のバージョン7(2019年3月17日版)をダウンロードし、PC上に解凍。

arm と arm64 の2つのバージョンが解凍されるが、arm64 版は実行できなかったので、消去法的に arm 版を使う。該当プログラムのディレクトリでadb pushにより、プログラムをFire HD 8にコピーする。

$ adb push mtk-su /data/local/tmp/
[100%] /data/local/tmp/mtk-su

Fire HD 8のシェルに入り

$ adb shell

現在、root権限がないことをidコマンドで確認してから…

karnak:/ $ id
uid=2000(shell) gid=2000(shell) groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc) context=u:r:shell:s0

mtk-su コマンドを実行する

$ cd /data/local/tmp
 
$ ls -la
total 56
drwxrwx--x 2 shell shell  4096 2019-03-25 20:12 .
drwxr-x--x 3 root  root   4096 2018-10-08 10:31 ..
-rwxrwxrwx 1 shell shell 17696 2019-01-01 15:00 mtk-su
 
$ chmod 755 mtk-su
 
$ ls -la
total 56
drwxrwx--x 2 shell shell  4096 2019-03-25 20:12 .
drwxr-x--x 3 root  root   4096 2018-10-08 10:31 ..
-rwxr-xr-x 1 shell shell 17696 2019-01-01 15:00 mtk-su
 
$ ./mtk-su -v
param1: 0x3000, param2: 0x18040, type: 1
Building symbol table
kallsyms_addresses pa 0x40baf400
kallsyms_num_syms 69054, addr_count 69054
kallsyms_names pa 0x40c36300, size 830042
kallsyms_markers pa 0x40d00e00
kallsyms_token_table pa 0x40d01700
kallsyms_token_index pa 0x40d01b00
Patching credentials
init_task va: 0xffffffc000fcea20
Possible list_head tasks at offset 0x338
0xffffffc0030c8338 0xffffffc02e88d3b8 0x000000000000008c
comm offset 0x5a8 comm: swapper/0
Found own task_struct at node 0
real_cred: 0xffffffc0508fa780, cred: 0xffffffc0508fa780
Parsing sel_read_enforce
Found adrp instr at offset 4
ADRP x0, 0xffffffc00112e000
Found ldr instr at offset 28
LDR [x0,444]
selinux_enforce VA is 0xffffffc00112e1bc
Setting selinux_enforce
Switched selinux to permissive
New UID/GID: 0/0
starting /system/bin/sh

再び id コマンドを実行し、root権限を得たことを確認する

# id
uid=0(root) gid=0(root) groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc) context=u:r:shell:s0

不要アプリの無効化

パッケージの無効化方法

# pm disable amazon.alexa.tablet

パッケージ一覧

amazon.alexa.tablet Alexa
com.amazon.advertisingidsettings
com.amazon.ags.app Amazonゲーム
com.amazon.alexa.externalmediaplayer.fireos Alexa
com.amazon.alexa.modeswitch Alexa
com.amazon.alexa.youtube.app Alexa
com.amazon.avod Primeビデオ
com.amazon.cloud9 Silk Webブラウザ
com.amazon.cloud9.contentservice Silk Webブラウザ
com.amazon.cloud9.kids Silk Webブラウザ
com.amazon.cloud9.systembrowserprovider Silk Webブラウザ
com.amazon.comms.knightcontacts
com.amazon.comms.knightmessaging
com.amazon.comms.multimodaltachyonarm Tachyon Calling App
com.amazon.csapp ヘルプ
com.amazon.dee.app Alexa 関連
com.amazon.device.software.ota OTA(自動システムアップデート)関連
com.amazon.device.software.ota.override OTA(自動システムアップデート)関連
com.amazon.dp.contacts 連絡帳
com.amazon.dp.fbcontacts 連絡帳
com.amazon.firelauncher Fireホーム画面
com.amazon.geo.client.maps Amazonマップ
com.amazon.geo.mapsv2 Amazonマップ
com.amazon.geo.mapsv2.services Amazonマップ
com.amazon.kcp.tutorial チュートリアル
com.amazon.kindle.kso Amazonキャンペーン
com.amazon.kindle.otter.oobe OTA(自動システムアップデート)関連
com.amazon.kindle.otter.oobe.forced.ota OTA(自動システムアップデート)関連
com.amazon.kindle.personal_video Amazonビデオ
com.amazon.kindle.unifiedSearch
com.amazon.knight.blink Alexa 関連
com.amazon.knight.calendar Alexa 関連
com.amazon.knight.ecs Alexa 関連
com.amazon.knight.hds Alexa 関連
com.amazon.kor.demo 店頭用デモ画面
com.amazon.mp3 Amazonミュージック
com.amazon.photos Amazonフォト
com.amazon.photos.importer Amazonフォト
com.amazon.settings.systemupdates OTA(自動システムアップデート)関連
com.amazon.tahoe Free Time
com.amazon.tv.ottssocompanionapp
com.amazon.unifiedsharegoodreads Goodreads
com.amazon.unifiedsharesinaweibo
com.amazon.unifiedsharetwitter
com.amazon.venezia Amazon AppStore
com.amazon.weather 天気
com.amazon.windowshop Amazonでお買い物
com.amazon.zico Amazonドキュメント
com.android.contacts Android標準アプリ:連絡帳
com.android.deskclock Android標準アプリ:時計
com.android.email Android標準アプリ:Eメール
com.audible.application.kindle Audible
com.goodreads.kindle Goodreads
com.kingsoft.office.amz Kingsoftオフィス
jp.co.omronsoft.iwnnime.languagepack.zhcn_az wnn 日本語変換IME
jp.co.omronsoft.iwnnime.mlaz wnn 日本語変換IME
org.mopria.printplugin

無効化できなかったパッケージ

無効化したところ、CPUロードアベレージが異常に上昇し、バッテリードレインがひどかったため、再度有効化したパッケージ類。また、それ以外の理由で無効にすると利便性が下がったもの。

amazon.speech.audiostreamproviderservice
amazon.speech.davs.davcservice
amazon.speech.sim
amazon.speech.wakewordservice
com.amazon.alta.h2clientservice
com.amazon.imp 設定 - デバイスオプションの画面
com.amazon.speechui
com.amazon.unifiedshare.actionchooser
com.amazon.webview.chromium
com.here.odnp.service