摘要:
本文主要講解如何打造安卓測試機,并刷機google原生系統、部署Magisk對測試機進行root的常用方式;
并對一些常見問題進行思路解答。
本文適合新手學習,大佬請繞過
本次實驗使用的設備及環境如下:
Nexus 5x 測試機一部(閑魚100-150即可購買一部)
鏡像下載的網站
https://developers.google.cn/android/images?hl=zh-cn#anglerTWRPRecoery https://developers.google.cn/android/images?hl=zh-cn#angler%20TWRP%20Recoery
刷機鏡像站
https://twrp.me/
Magisk下載
https://github.com/topjohnwu/Magisk/releases
Lsposed下載
https://github.com/LSPosed/LSPosed/releases
platform-tools工具下載
https://dl.google.com/android/repository/platform-tools_r34.0.4-windows.zip
首先說一下,為什么使用Nexus的設備,一個是成本低,一個是更適合做測試機,解BL鎖不需要太麻煩,同時支持的各種原生鏡像的種類也比較多,刷機的方法也比較成熟
現在適合做測試機的設備其實很多,除了最優選的Nexus、Pixel外,現在的一加、小米等驍龍處理器的設備都可以做測試機,只不過渠道限制的比較多
而由于安卓7.0以上和以下,信任證書的問題,所以會有一些其他的操作,包括Xposed框架和Lsposed框架的選擇、信任證書的安裝方式、甚至是安裝不同版本的Magisk
這里面提到了Magisk 和 Lsposed;Lsposed框架是現在比較新的框架了,但是他似乎只支持安卓7.0以上的版本;而Magisk 并沒有這個限制,但是低于26.0的Magisk 版本會有很多好的插件用不了,比如說Shamiko 插件,更適合躲避root檢測,但是低于26.0的Magisk 是用不了的,同時26.0的Magisk 并不適合Recoery 強刷,雖然刷完了不對鏡像進行修復也可以使用部分root功能,但是確實是存在一定的缺陷,所以大家在測試的時候都需要進行避坑
0X01 - Bootloader 刷模式
首先第一步是如何進入Bootloader模式:
此處以Nexus5x為例,大致有兩種方式
方式一:
手機能開機,打開開發者模式,信任計算機后,利用ADB功能進入bootloader;adb工具大家請根據platform-tools 工具下載即可,此處不演示添加環境變量的步驟,大家可以選擇添加,也可以選擇不添加
adb devices
出現這種情況不要慌,只需要信任計算機即可
執行該命令是看看有沒有adb可連接的設備,如果后面顯示的是device那么就可以了,如果是offline,那么請執行adb kill-server或重啟計算機、手機;或使用方法二進入bootloader
adb reboot bootloader
想要刷機,首先第一步是需要確認手機的BL鎖是解鎖的狀態,由于不同的手機廠商對手機解鎖的方式不一樣,所以這里僅僅是展示Nexus 5x解鎖的樣子,如果不是這個樣子,那么請執行
fastboot oem unlock
方式二:
按住手機電源鍵 + 音量下鍵,直至出現bootloader頁面松手即可進入bootloader模式
接下來是第一個坑,進入到bootloader模式后,fastboot devices識別不到設備,這個時候需要大家手動更新計算機的驅動
https://developer.android.com/studio/run/win-usb?hl=zh-cn)
電腦按win+x選擇設備管理器,右鍵選擇更新程序軟件,在彈出的對話框中選擇瀏覽計算機以查找驅動程序的軟件,選擇瀏覽,然后選中下載的驅動的文件夾(不用選的很具體,電腦會自動搜索安裝,建議選arm、x86的上一個文件夾)
0x02 - 刷機鏡像選擇
這里推薦大家下載安卓8.1的OPM1.171019.011鏡像包
大家可以看到,筆者將第二個壓縮文件里的東西也給解壓出來了,一會這是第二個坑
常規來講,這個時候,大家執行
fastboot devices
這個時候,只需要在解壓目錄下,執行flash-all.bat ,而后等待刷機結束就可以了
這里的第二個坑,就是有的環境會報錯,bat腳本會無法執行里面的fastboot -w update image-bullhead-opm1.171019.011.zip 命令,以至于系統找不到boot.img、system.img等包,所以需要我們手工的更改一下腳本
如果大家遇到了特殊情況,只需要把注釋的內容覆蓋就可以了,記得將image-bullhead-opm1.171019.011.zip文件解壓到當前目錄
fastboot flash android-info android-info.txt fastboot flash boot boot.img fastboot flash system system.img fastboot flash recovery recovery.img fastboot flash vendor vendor.img
0x03 - Magisk的部署
此時手機是可以正常開機的,大家記得打開開發者模式,而后重新信任計算機后即可使用adb進行操作,大家需要自行下載magisk的apk安裝包進行手工安裝
adb install magisk.apk
安裝成功后,會提示success,這個時候手機里會有magisk的圖標,大家打開magisk軟件,因為筆者沒有留圖,所以大家湊合看一下
安裝成功后,會提示success,這個時候手機里會有magisk的圖標,大家打開magisk軟件,因為筆者沒有留圖,所以大家湊合看一下
上圖是root成功的圖,正常的話zygisk是否的,大家需要點擊安裝按鈕,取消所有的選項,然后選擇并修補一個文件? ?
修補的文件,其實就是鏡像包里的boot.img文件,大家需要將這個文件push到安卓手機能訪問到的目錄,然后選中,點擊修復,待magisk修復成功后會在日志內提示文件的位置,大家記住文件在什么地方,導出修復好的img包
adb pull /sdcard/Download/magisk_patched-24000_GXe4N.img
adb reboot bootloader fastboot flash boot magisk_patched-24000_GXe4N.img fastboot reboot
這個時候工作并沒有完成,當手機重啟后,大家發現,超級用戶功能可以使用,并且出現了卸載magisk功能的時候,這個時候說明magisk的root成功了
此時點擊首頁右上角設置按鈕
下滑至Magisk模塊,劃開Zygisk功能并重啟手機,才算是真正的結束配置
這個時候第三個坑來了,很多手機都在這個時候起不來了,手機變磚頭了,卡在google開機頁面怎么也進不去系統,這個時候怎么辦?
按住手機電源鍵+音量下鍵,直至重新進入到bootloader頁面,這個時候大家不需要重新點擊flash-all.bat 進行系統重裝,僅僅需要執行以下命令即可修復
fastboot flash boot boot.img
需要注意的是,boot.img就是你放進手機里修復鏡像用的東西!這個時候不出意外都可以開機了,但是尷尬的就是root失效了
0x04 - TWRP進行Recovery強刷root
TWRP大家最上面的地址,而后選擇nexus 5x機型,下載最新的twrp-3.7.0_9-0-bullhead.img 即可
?這個時候不要重啟手機,讓手機保持在bootloader頁面,輸入以下命令
fastboot?flash?recovery?twrp-3.7.0_9-0-bullhead.im
等所有的都顯示ok之后,按手機音量下鍵,選擇Recover mode,然后按電源鍵即可進入recovery修復模式
等待手機重新啟動后,即可進入twrp功能,這個時候計算機會自動連接手機文件夾,大家可以將magisk apk安裝包復制到手機能訪問到的文件夾,然后利用twrp的 install功能安裝app,他會自動刷root,這樣成功后重啟的手機即可正常開機,不會卡在開機頁面進不去了
0x05 - 系統根目錄證書的導入
上面提到,安卓7.0以上的系統默認只進行手機根目錄的證書,所以大家需要將burp的證書導到系統根目錄,但是這個時候的根目錄是只讀模式,需要我們重新掛載system目錄才行
附上burp證書修改的方式
openssl x509 -inform DER -in burp.der -out burp.pem openssl x509 -inform PEM -subject_hash_old -in burp.pem openssl x509 -inform DER -in burp.der -out 9a5ba575.0
常規操作是直接將證書導入到手機里
adb push 9a5ba575.0 /system/etc/security/cacerts/9a5ba575.0
但是竟然說有坑,這里是第四個坑
網上幾乎所有的解決方式都是:
adb root adb remount adb disable-verity adb root adb remount adb push 9a5ba575.0 /system/etc/security/cacerts/9a5ba575.0
很不好意思,adb root其實在這個系統里是成不了的,這里就是第5個坑
而幾乎網上所有的解決方式都是,下載超級adbd工具,給上root權限,下載最新版的adb工具,但是很不幸的是,實際上在安卓7以上這個方法就不靈了,這就是第6個坑
不要慌,這個時候依然可以解決,而這里依然有兩個解決方案,不推薦直接adb shell ; su ; chmod 777的方式解決問題,這么玩會把手機再次變磚頭,也不要chown 更改所屬
執行
adb push 9a5ba575.0 adb shell "su -c 'mount -o remount,rw /system'
或者
adb push 9a5ba575.0 /sdcard/ adb shell su mount -o rw,remount -t auto /system cp /sdcard/9a5ba575.0 /system/etc/security/cacerts
這個時候就解決了證書的問題,大家也可以選擇安裝MT管理器APK,然后給這個工具root權限,就可以直接在工具里把證書導入到system目錄
編輯:黃飛
評論