ZenPad S 8.0 (Z580CA) bootloader unlocked

shakalaca
shakalaca
Jan 16, 2018 · 5 min read

其實這台平板買一陣子了,Android 5.0 (軟體版本 4.x) 的時候還可以透過 Intel bootloader 的漏洞輕鬆 root,但官方 Android 6.0 (軟體版本 5.x) 釋出後一直沒有提供官方解鎖,再加上我的認知是 Android 6.0 以後的版本如果沒有解鎖 bootloader 無法有效讓裝置永久 root,所以遲遲沒有升級平板的軟體。另一方面當時對解鎖 / root 這方面的經驗與技巧不多,嘗試一陣子找不到解決方案後也就放棄升級的念頭。

直到最近又想起這台沒有升級的平板,於是一方面在網路上搜尋是否已經有人找到方法,另一方面也著手拆解官網上的 ROM 進行研究。沒想到意外發現 bootloader 其實是有支援解鎖的功能,而且能否解鎖的關鍵 flag 存在 ro.frp.pst 指到的分區裡面 (相當傳統的存放在最後一個 byte) 於是做了點小嘗試:

  1. 平板先刷到 V4.7.1.0,也就是 Android 5.0 的最後一版。(使用 ASUS Flashtool 1.0.0.45)
  2. 透過臨時的 cwm 取得 root shell (使用 T2 方法),利用 dd 指令將 /dev/block/by-name/persistent 的最後一個 byte 改為 1:(persistent 的大小為 1048576 bytes,所以 seek 要少 1)
echo -n -e “\x01” | dd of=/dev/block/by-name/persistent seek=1048575 bs=1 count=1

3. 平板升級到 V5.4.3 或者 V5.5.1,進入 bootloader 確認是否可以解鎖:

fastboot flashing get_unlock_ability

如果出現 (bootloader) The device can be unlocked. 那麼恭喜,可以直接下指令解鎖:

fastboot flashing unlock

然後依照螢幕的指示使用音量鍵選 yes,等平板清除資料。

解鎖畫面

4. 重新開機設定完成平板後安裝 MagiskManager,接著透過修補功能把 Magisk 安裝至該軟體版本的 boot.img,最後將檔案抓回電腦,平板開到 bootloader 後刷入,即可快樂使用 root 啦!

解鎖後開機會出現的提示畫面,拿不掉很好認。

以上是簡化過後比較沒問題的步驟,事實上有幾個細節讓我撞牆一陣子..

  • 刷入最新版的軟體 V5.6.0 進行解鎖後會無法開機,平板啟動後便一直回到 bootloader 畫面。交叉比對得到的結論是:新版的 IFWI (v89.0058) 有問題 (或者是故意的) 在平板解鎖後會判定系統軟體損毀,除非鎖回去否則無法開機。而這個新版的 IFWI 是在 V5.5.7 版後導入,因此前面才提到只能刷 V5.4.3 與 V5.5.1 這兩個版本。
  • 解鎖與上鎖時會 erase userdata 但沒有 format,這也是另一個討厭的地方,此時如果使用 Magisk Manager 修補過後的 boot.img 會卡住 ASUS Logo 不能開機。
  • 解鎖後的狀態只在 Android 6.0 有效,刷回 Android 5.0 並不能使用修改過的 boot.img 開機 (簽名不對無法刷入,就算強行刷入簽名不對也無法開機)
  • 真正的大魔王在於 Android 6.0 升級後 bootloader 除非解鎖否則無法刷入檔案,當然我們可以透過 raw 檔案降版到 Android 5.0,只是要製作成刷機工具包檔案會變得很大,而且步驟也較為麻煩。既然我們只要 Android 5.0 的 bootloader 寫入允許解鎖的 flag,而 raw 檔可以突破封鎖刷入肯定有後門,那的確值得開啟 USB Sniffer 研究一下,看有沒有機會精簡『破解』的步驟。於是我們得到一個神妙的指令:
fastboot getvar sofia_support

使用了這個指令之後就可以在不解鎖的前提下於 Android 6.0 的 bootloader 刷入必要檔案降級 Android 5.0 的 bootloader 囉。(IFWI / droidboot ..)

這邊我製作了一個工具包:https://mega.nz/#F!F1FlzAoY!u6zR1Y14xvqoSbz-YQGFrw

另外記得把 mke2fs.exe, mke2fs.conf 與 libwinpthread-1.dll 丟到 files 資料夾下 (與 fastboot.exe 同一層) 才可以正常使用 fastboot format 指令喔。

解開後平板正常開機狀態下連接電腦,執行 Root.bat 就會開始解鎖與清除使用者資料,然後刷入 V5.6.0 的軟體與修補過的 boot.img,完成後請自行安裝 MagiskManager-v5.5.5.apk,便可快樂使用 root 啦。

Happy Hacking ! :-)

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade