冰楓論壇

標題: 暫時 unroot 工具:Root Switch [打印本頁]

作者: 阿J    時間: 2016-10-9 05:42
標題: 暫時 unroot 工具:Root Switch
2016-10-08 更新 1.1.4
* 加入系統通知列切換 root 開關,考慮到一些時間差還有畫面顯示問題,最後還是彈出 app 自動切換完成後關閉。如果重開機後無法順利在系統通知列顯示切換開關,請檢查是否使用重啟管理程式並加入白名單。
* 增加除錯報告,如果無法順利切換 root,可以產生檔案 /data/debug_report.txt 讓我參考。
RootSwitch-1.1.4<-點擊左邊字樣下載
2016-10-07 更新 1.1.2 版* 修正 systemless 有時無法切換的問題
* 因為 SafetyNet 有更新,所以如果還想繼續使用得重新刷 root,請到這邊下載檔案
點我<-點擊左邊字樣下載
然後在刷入 supersu.zip 之前把這兩個檔案透過 adb 或者使用 root explorer 丟到手機的 /data 目錄下,dot.supersu 記得要去掉前面的 "dot":
adb push custom_ramdisk_patch.sh /data
adb push dot.supersu /data/.supersu

最後再刷 SuperSU.zip,重開機後就可以用 1.1.2 切換 root 了。

2016-10-06 更新 1.1.1 版
* 主要支援 systemless root 在新版 SafetyNet 的偵測,一樣請在安裝前恢復 root 狀態,重新開機後反安裝 app 再安裝。

016-10-04 發現如果把 SuperSU 作為系統 app 安裝,有些程式會偵測到,解法就是不要把 SuperSU 安裝為系統 app,可以先以 root 程式刪除後,再從 Play Store 下載新版安裝,開啟後如果要更新 su 二進位檔案可以忽略,或者更新後重開機再使用 root switch,效果會更好喔

2016-10-03 更新 1.0.8 版,主要支援 Xposed 與 Android 4.4 的用戶,有需要的 Zen 粉請試試看,如果先前的版本已經可以使用就不必更新了,如果從舊版升級,建議先反安裝 app 再安裝新版 (先確認手機已經恢復 root 狀態)
為了可以在 root 過的手機使用某些程式 (比如某支付啦,某可夢啦),基本上該試的方法都試過一輪了,覺得各有其優缺點,但沒辦法幫忙修還蠻可惜的,再加上很好奇這件事情究竟有多難搞,於是就跳下來動手寫一個囉,果然事情沒有想像中簡單..

檔案在這:點我<-點擊左邊字樣下載

因為只有一個開關我就不截圖跟教學了,但有幾點千萬要注意:
1. 使用前最好知道怎麼把手機還原為原廠 ROM,或者重新 root 的方法。因為如果有不相容的情形,重新開機前沒有還原 root 狀態會造成手機無法開機。
2. 如果你已經使用 Magisk,就別再用這套囉,我是沒測過會發生什麼事情,但也沒有主動防止這件事。
3. 理論上在他牌手機可以用,但我『完全沒在 ZenFone 以外的手機測試過』,目前有測試過的 ZenFone 手機為
    ZE500KL / ZE550KL / ZE601KL
    ZD551KL
    ZE550ML / ZE551ML / ZX551ML
    A500CG / A600CG
    雖然如此,但一次要測試這麼多手機個別也有 Android 5.0 / 6.0 版本,root 又分 system / systemless,如果忙中有錯造成手機無法開機,敬請見諒。

最後講一下原理,主要分兩種:

如果是直接植入 system 的 root (ZE500KL / ZE550KL / ZE601KL / ZD551KL / ZE550ML / ZE551ML / ZX551ML / A500CG / A600CG)
1. 這類主要為 Android 5.0,或者使用預先 root 的 system image 的 Android 6.0 系統。

2. 基本上把 /system/xbin/su 與 /system/xbin/demonsu 改名,/system/bin/app_process 的相關連結還原即可。他牌手機也可以用,但要注意的是:重開機之前請記得要打開 root,否則重開機後 root 便會消失。而 ASUS ZenFone 系列我有另外寫 script 可以讓系統呼叫自動還原 root 狀態,所以不必額外切換。

如果是修改 boot.img 的 root (systemless) (ZE500KL / ZE550KL / ZE601KL / ZD551KL / ZE550ML / ZE551ML / ZX551ML)
1. 這類主要是 Android 6.0 系統。

2. 基本上也是把 /su/bin/su 與 /su/bin/daemonsu 改名,當然改名之後重開機肯定無法自動還原,所以實作上我直接複製一份原先的 /data/su.img,保留原始 root 的狀態,重開機後會自動重新載入,這麼一來也就不用費心在重開機前還原 root 狀態。

另外要處理的 case 是 SELinux,在 Android 6.0 預設 SELinux 必須為 Enforcing,而有些 root app (比如某銅鑼) 會自動或者請求使用者關閉 SELinux (Permissive) 因此會造成即使關閉 root 但系統還是偵測到 root 的情形,所以必須在還原時要讓 SELinux 的狀態為 Enforcing。

希望各位能幫點個評分+個GP! 讓我有更多發帖的動力!!





歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓