Rooting Your Device

Root:
系統超級使用者帳戶(System super user account),在UNIX-based的系統裡擁有對檔案及程序完整的控制權。

Rooting:
通常是指在Android裝置上取得超級使用者權限的過程。

Root之後有哪些優點呢?
1.解除安裝OEM預載的應用程式
2.修改外觀,客製化主題,開機動畫...
3.完整的備份和重製
4.進入被限制的目錄,修改或存取甚至執行被限制的檔案或是程式
5.等等......(自行想像)

當然,台語說「有一好,就沒倆好」,有優點自然就會有缺點,在你決定root你的手機之前,一定要先清楚明白非常了解root之後可能帶來的風險!

第一:
Android系統的底層雖然是Linux,但是Android原生的版本是沒有搭配"su"這個指令的,也就是說在 /system/bin/ 或是 /system/xbin/ 目錄底下,是找不到su這個指令檔的。那下圖所示為已經root的手機,才會有su這個指令檔

由此可知,沒有root之前,任何人都沒有辦法修改系統裡的設定,我認為這是Google當初設計的一個保護措施,所以當你的手機root之後,萬一被植入惡意程式或駭客入侵,不但隱私資料受到威脅,入侵者更可以利用root權限更進一步的破壞整個系統!

第二:
延續上一段,網路上不管是哪一種root方法,裡面所提供的su指令檔,幾乎都沒有辦法設定密碼!(目前沒看過可以設定密碼的)這樣一來就等於少了一道破解關卡,這讓手機本身更加不安全。

當然,如果可以妥善利用root權限去修改系統,是有可能讓Android變得安全,但是泰勞還不知道要如何修改才能減少被入侵的機會,持續研究中...zzz

接下來泰勞介紹一個我個人最喜歡的root方法,就是一般透過網路進行系統更新時走的路-OTA(Over the air),當你收到系統更新通知時,會先下載一個更新zip檔,通常就是存在sdcard裡面,然後從開機進行安裝,只是OTA通常不會讓你看到安裝過程的畫面,下次看到系統更新通知時,記得下載完別直接按重開機,先去sdcard找找看有沒有可疑的zip檔喔!

使用此方法最重要的要求,就是手機本身要支援外接SD卡。

然後去下載我個人比較信任的"Root更新包",因為這是由Android Hacker's Handbook所建議的,再去TWRP或是ClockworkMod下載第三方製作的Recovery,為什麼呢?因為原生搭載的Recovery通常都會作驗證,下圖是Nexus7原生的Recovery。

如果沒有作驗證的話,只要選擇apply update from ADB,再選擇你要更新的壓縮檔就能成功安裝「非原廠」,「不是用手機開發商的金鑰包起來」的程式或更新檔,所以一般正常的情況下,透過原生的recovery都會出現驗證失敗的情形。

當Root更新包和第三方Recovery都準備好了,第一步驟就是先解鎖(Unlock),解鎖方法請參考各廠商提供的步驟,下圖是已經解鎖的bootloader。

解鎖之後,將下載的Root更新包和第三方Recovery,放進手機的外接SD卡裡面。

然後關機再開機(音量鍵下+電源鍵),或是透過adb reboot bootloader,進入fastboot模式。此時,需要在終端機下以下指令:

$ fastboot devices (先確認是否成功連線)
$ fastboot boot recoveryName.img (recovery名稱)


此指令的意思是從外接SD卡開啟第三方recovery,可以跳過原生recovery也不會讓原生的被洗掉,再來你應該會看到類似這樣的畫面。

選擇「Install」,再選擇你要安裝的更新包。

如果有成功,就會出現完成的訊息。

這時後可以重新開機,去檢查看看囉!泰勞在HTC E8上使用此方法,是可以成功Root的。

留言

這個網誌中的熱門文章

程式語言常用之符號與詞彙 - 中英文對照

什麼是 Bootloader?

Repo 實用指令