今天周末,可以解鎖 BootLoader 了,抽空給 k50p 上個 root,准備搞上 lsposed,記錄一下。
通過修補 boot.img 的方式。
一、提取 boot.img
下載個當前刷機包完整包,我現在是 13.0.11.0 穩定版。
然后從壓縮包里解壓出 payload.bin,我們需要從這里面提取出 boot.img。
然后在通過小米快傳,將 payload.bin 傳到電腦上,使用 GitHub - ssut/payload-dumper-go: an android OTA payload dumper written in Go 提取出 boot.img。
本來想能不能直接在手機上提取就好了,但是遇到了文件權限問題,就沒有再深究了。
payload-dumper-go.exe payload.bin -p boot
雖然指定了分區,但是程序還是將整個 payload.bin 解壓了,但是看到 boot 分區提取出來后就可以直接關掉命令行界面了。
在同級文件夾處,可以看到生成了一個 extracted_20220409_112836
文件夾,里面有 boot.img
文件。
二、修補 boot.img
修補其實就是使用 Magisk 程序直接修補就可以了。
再次通過小米快傳將 boot.img 傳送到手機上,打開 Magisk 修補:
安裝 - 選擇並修補一個文件 - 選擇我們的 boot.img
修補后會在 boot.img 同文件夾處生成一個 magisk_patched-版本號_隨機字符串.img
文件。
我們把文件傳到電腦上備用。(實際上,再刷入這個文件到 boot 分區就可以了,但是要記得解鎖 bl 哦)
三、bl 解鎖、刷入新 boot.img
已經等了一周了,現在可以解鎖一下 bl 了,具體過程不贅述,其實也就是使用官方工具,點點點。解鎖完數據全被清空了。
開機后,重新開啟 adb 調試,連接到電腦上,
# 看一下設備連接上了沒有
adb devices
# 重啟到fastboot模式
adb reboot bootloader
# 刷入boot鏡像
fastboot flash boot magisk_patched-版本號_隨機字符串.img
# Finished后,直接重啟
fastboot reboot
開機后,打開 Magisk 應用,可以看到已經安裝上了,當前 243005:
注: 筆者實操中采到坑,Magisk Alpha 最新版 24306 無法正常安裝,會顯示需要額外的安裝,但是安裝失敗。剛開始以為是需要海外網絡才行,但是實際上也辦法安裝。
此時的 Magisk 是沒有正常安裝的,日志是空白的。重新刷入修補的 boot 鏡像也是無濟於事的。於是下載低一版本的修補測試了一下就可以了。
下一步,裝上 lspoesd。
設置開啟 Zygisk,下載 Releases · LSPosed/LSPosed · GitHub,從本地安裝模塊。重啟,正常激活