覺得Magisk太容易被Root偵測針對?想用KernelSU卻發現手機廠商太黑心不支援GKI核心?這時可以使用APatch作為替代。
APatch是介於KernelSU以及Magisk的折衷方案,同時相容兩邊的模組,並且可以達到不錯的Root隱蔽性。
本文Ivon分享開源Root方案「APatch」的安裝方式。
撰文當下測試的手機:Sony Xperia 10 V,系統版本LineageOS 23 (Android 16),APatch版本11142
1. APatch介紹#
APatch屬於融合Magisk與KernelSU二者優點的Root方案,最早於2024年出現,開發者為bmax121。
根據APatch官網文件介紹,APatch有以下特點:
- APatch執行於kernel space,不容易被偵測到。
- APatch支援Linux核心版本3.8以上,64位元的Android裝置。
- Linux核心需啟用「
CONFIG_KALLSYMS=y和CONFIG_KALLSYMS_ALL=y」或者「CONFIG_KALLSYMS=y和CONFIG_KALLSYMS_ALL=n」選項,大部分裝置應該都有。 - APatch不像KernelSU需要GKI核心,也不用重新編譯Linux核心,只要像Magisk那樣修補boot.img就好了,因此理論上支援更多裝置。
- APatch的隱藏Root能力接近KernelSU,但沒辦法100%通過Play Integrity。
- APatch同時支援Magisk與KernelSU的模組,也支援使用Zygisk,相容KsuWebUI。
- 超級密鑰(SuperKey)為APatch所新增的項目,它是應用程式執行高權限的SuperCall所需的金鑰,使用者得用APatch的APP自行設定一組密碼。SuperCall的權限比Root權限更高,可以在裝置上執行任意操作,因此不要用太簡單的密碼。
從以上資料可以觀察到,APatch算是Magisk與KernelSU兩者之間的折衷方案,給那些想要更好隱藏Root,卻無法使用KernelSU用戶的另外一個選擇。
2. 修補boot.img,安裝APatch#
解鎖手機的Bootloader。通常為了安全,解鎖Bootloader後手機會自動清除一次手機資料。
如果已經有Root權限,先在ADB Shell執行指令,檢查目前的核心是否有啟用APatch要求的選項,否則就得重新編譯核心了:
zcat /proc/config.gz | grep -w CONFIG_KALLSYMS
# 應會列出CONFIG_KALLSYMS=y 和CONFIG_KALLSYMS_ALL=y
準備裝置的
boot.img,原廠Android系統通常能從刷機包裡面解出來,例如LineageOS的話就到ROM下載頁面取得boot.img。APatch官方文件提到,APatch不修補init_boot.img,一律都是選取boot.img。將boot.img用MTP傳到手機。
到APatch的Github下載APK。這個階段還不需要Root權限。
開啟APP後點選右上角 → 選取要修補的boot.img映像檔

設定一組超級密鑰,不要用太簡單的密碼,然後開始修補

修補完的boot.img應該會儲存到手機內部儲存空間
Download資料夾。把修補後的檔案用MTP傳到電腦。
下載Platform Tools,將手機連上電腦,讓手機進入Fastboot模式。
再用fastboot指令,刷入修補過的boot.img到手機的boot分區
fastboot flash boot apatch_patched_*.img
- 重開機後輸入超級密鑰就能用了。

APatch界面操作類似KernelSU,所有的APP預設都無法使用Root權限,必須個別啟用。

KernelSU模組請到「KP」模組界面刷入;Magisk模組則是到「AP」模組界面刷入。
