[討論] ROOT & Play Integrity 解決方案
目前 ROOT 方案大眾所知的大多是 Magisk
這篇文章介紹 Apatch 順便提一下 KernelSU
KernelSU 提供兩種補丁方式
GKI mode (Generic Kernel Image)
LKM mode (Loadable Kernel Module)
前者為替換 kernel image 達到載入 ROOT 權限
後者為植入 module 到 first stage 的 ramdisk
運作原理大概與 Magisk 稍微相似
# KernelSU 支援清單
android12 kernel 5.10.x
android13 kernel 5.10.x
android13 kernel 5.15.x
android14 kernel 5.15.x
android14 kernel 6.1.x
這部分就不著墨太多,有興趣請到 github 查看
https://github.com/tiann/KernelSU
開始進入正文,以下教學使用 Apatch 為範例
https://github.com/bmax121/APatch
Apatch 僅支援 ARM64 系統
Kernel 核心支援 3.18 - 6.1
示範手機 OnePlus Ace 3 (12R)
kernel-5.15.123-android13
https://i.imgur.com/8VnObhO.png
#1 安裝 Apatch manager
commit f6feb6a build (需登入github)
https://reurl.cc/kyypQ3
或是我提供的 mirror
https://www.mediafire.com/file/8qm202ebbc8ngy1
#2 Patch boot.img
https://imgur.com/a/kFVL6MG
#3 刷入 patched boot.img
這部分還要教學嗎 ╮(′~‵〞)╭
#4 輸入 master key 後取得 ROOT 權限
https://i.imgur.com/eXUyfN5.png
至此順利的話就完成 ROOT 部分
這邊稍微提一下 Play Integrity 的淵源
大約是 Android 5 ~ 7 時代引入了 SafetyNet 驗證
這時候還只是單純的驗證系統 properties
屬於基礎性的驗證,而且大多數 APP 不會驗證 SafetyNet
Android 8 之後強化了 bootloader
BL 解鎖後會讓 keymaster 拒絕硬體金鑰驗證
SafetyNet 也就過不了硬體層級的驗證
這部分可以騙過 SafetyNet 讓它以為手機是早期機型
不會強制採用硬體層級驗證,歷史的眼淚如下
https://github.com/Displax/safetynet-fix
好了這兩年 Google 開始放大招了 (╥﹏╥)
Play Integrity 只信任 TEE 環境提供的簽章驗證
並且將 Integrity API 導入到 APP 開發環境
讓開發者於上架 APP 時可以選擇不同等級的驗證
BL 解鎖後的手機只會擁有 Basic Integrity
https://imgur.com/a/FX2lGqt
中國開發者 5ec1cff 提供了一套 ROOT 模組
透過攔截 keystore 交互過程並插入自訂金鑰串
目前只支援 Android 11+
https://github.com/5ec1cff/TrickyStore
手機解鎖狀態將透過 PlayIntegrityFork 修復
https://github.com/osm0sis/PlayIntegrityFork
此篇教學僅基於 TrickyStore / PlayIntegrityFork
相互配合來達成 Strong Integrity
使用下方兩個 APP 進行測試
# chiteroman/KeyAttestation
https://reurl.cc/YqqDax
# Simple Play Integrity Checker
https://reurl.cc/myypOA
#1 安裝 TrickyStore 1.1.3 模組
https://reurl.cc/eyyp4x
#2 安裝 PlayIntegrityFork v10 模組
https://reurl.cc/Ree2lr
#3 進行一次重新開機後,模組頁面如下
https://i.imgur.com/UkSyMvl.png
#4 由於只需要修復系統 props 環境
採用 Scripts-only 模式再次安裝 PlayIntegrityFork
#4-1 移動至目錄 /data/adb/modules/playintegrityfix
並新增 scripts-only-mode 檔案
https://i.imgur.com/PoGxHnD.png
#5-1 下載有效的 keybox.xml
https://www.mediafire.com/file/kp3ineqxuruungs
#5-2 移動 keybox.xml 至 /data/adb/tricky_store
https://i.imgur.com/JG4ytod.png
#6 驗證 Play Integrity / SafetyNet
https://imgur.com/a/281HKyO
至此大功告成
如果有其他疑問歡迎一起討論
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.173.137.245 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Android/M.1725672033.A.187.html
※ 編輯: mars3712 (1.173.137.245 臺灣), 09/07/2024 09:26:16
推
09/07 10:42,
2月前
, 1F
09/07 10:42, 1F
→
09/07 15:21,
2月前
, 2F
09/07 15:21, 2F
推
09/07 15:22,
2月前
, 3F
09/07 15:22, 3F
推
09/07 15:24,
2月前
, 4F
09/07 15:24, 4F
→
09/07 15:24,
2月前
, 5F
09/07 15:24, 5F
推
09/07 15:53,
2月前
, 6F
09/07 15:53, 6F
→
09/07 16:04,
2月前
, 7F
09/07 16:04, 7F
→
09/07 16:04,
2月前
, 8F
09/07 16:04, 8F
→
09/07 16:04,
2月前
, 9F
09/07 16:04, 9F
→
09/07 16:05,
2月前
, 10F
09/07 16:05, 10F
→
09/07 16:05,
2月前
, 11F
09/07 16:05, 11F
推
09/07 16:21,
2月前
, 12F
09/07 16:21, 12F
→
09/07 16:29,
2月前
, 13F
09/07 16:29, 13F
→
09/07 17:18,
2月前
, 14F
09/07 17:18, 14F
推
09/07 17:37,
2月前
, 15F
09/07 17:37, 15F
→
09/07 17:59,
2月前
, 16F
09/07 17:59, 16F
→
09/07 17:59,
2月前
, 17F
09/07 17:59, 17F
→
09/07 22:19,
2月前
, 18F
09/07 22:19, 18F
→
09/07 22:20,
2月前
, 19F
09/07 22:20, 19F
→
09/07 22:21,
2月前
, 20F
09/07 22:21, 20F
→
09/07 22:27,
2月前
, 21F
09/07 22:27, 21F
→
09/07 22:28,
2月前
, 22F
09/07 22:28, 22F
→
09/07 22:32,
2月前
, 23F
09/07 22:32, 23F
→
09/07 22:53,
2月前
, 24F
09/07 22:53, 24F
→
09/07 22:54,
2月前
, 25F
09/07 22:54, 25F
→
09/07 22:55,
2月前
, 26F
09/07 22:55, 26F
→
09/07 23:15,
2月前
, 27F
09/07 23:15, 27F
→
09/07 23:15,
2月前
, 28F
09/07 23:15, 28F
→
09/07 23:15,
2月前
, 29F
09/07 23:15, 29F
→
09/07 23:15,
2月前
, 30F
09/07 23:15, 30F
→
09/07 23:15,
2月前
, 31F
09/07 23:15, 31F
→
09/07 23:15,
2月前
, 32F
09/07 23:15, 32F
→
09/07 23:15,
2月前
, 33F
09/07 23:15, 33F
→
09/07 23:15,
2月前
, 34F
09/07 23:15, 34F
→
09/07 23:15,
2月前
, 35F
09/07 23:15, 35F
→
09/07 23:15,
2月前
, 36F
09/07 23:15, 36F
→
09/07 23:27,
2月前
, 37F
09/07 23:27, 37F
→
09/07 23:27,
2月前
, 38F
09/07 23:27, 38F
→
09/07 23:34,
2月前
, 39F
09/07 23:34, 39F
還有 35 則推文
推
09/08 15:30,
2月前
, 75F
09/08 15:30, 75F
推
09/09 00:46,
2月前
, 76F
09/09 00:46, 76F
推
09/10 13:01,
2月前
, 77F
09/10 13:01, 77F
→
09/11 13:29,
2月前
, 78F
09/11 13:29, 78F
推
09/11 14:21,
2月前
, 79F
09/11 14:21, 79F
推
09/11 14:29,
2月前
, 80F
09/11 14:29, 80F
→
09/11 14:29,
2月前
, 81F
09/11 14:29, 81F
→
09/11 14:29,
2月前
, 82F
09/11 14:29, 82F
推
09/11 17:43,
2月前
, 83F
09/11 17:43, 83F
→
09/11 17:43,
2月前
, 84F
09/11 17:43, 84F
推
09/11 21:25,
2月前
, 85F
09/11 21:25, 85F
→
09/11 21:25,
2月前
, 86F
09/11 21:25, 86F
→
09/11 21:25,
2月前
, 87F
09/11 21:25, 87F
推
09/11 22:38,
2月前
, 88F
09/11 22:38, 88F
→
09/11 23:37,
2月前
, 89F
09/11 23:37, 89F
→
09/11 23:37,
2月前
, 90F
09/11 23:37, 90F
→
09/11 23:38,
2月前
, 91F
09/11 23:38, 91F
推
09/12 11:46,
2月前
, 92F
09/12 11:46, 92F
→
09/12 22:15,
2月前
, 93F
09/12 22:15, 93F
推
09/15 03:56,
2月前
, 94F
09/15 03:56, 94F
推
09/15 15:07,
2月前
, 95F
09/15 15:07, 95F
推
09/15 15:11,
2月前
, 96F
09/15 15:11, 96F
→
09/15 19:20,
2月前
, 97F
09/15 19:20, 97F
→
09/15 19:20,
2月前
, 98F
09/15 19:20, 98F
推
09/15 20:38,
2月前
, 99F
09/15 20:38, 99F
→
09/15 20:38,
2月前
, 100F
09/15 20:38, 100F
推
09/15 20:47,
2月前
, 101F
09/15 20:47, 101F
→
09/15 20:47,
2月前
, 102F
09/15 20:47, 102F
→
09/15 22:23,
2月前
, 103F
09/15 22:23, 103F
→
09/15 22:26,
2月前
, 104F
09/15 22:26, 104F
→
09/15 22:26,
2月前
, 105F
09/15 22:26, 105F
推
09/15 22:48,
2月前
, 106F
09/15 22:48, 106F
推
09/16 01:32,
2月前
, 107F
09/16 01:32, 107F
推
09/16 02:05,
2月前
, 108F
09/16 02:05, 108F
推
09/18 10:18,
2月前
, 109F
09/18 10:18, 109F
推
09/19 15:28,
2月前
, 110F
09/19 15:28, 110F
推
09/22 16:01,
2月前
, 111F
09/22 16:01, 111F
推
10/23 08:41,
4周前
, 112F
10/23 08:41, 112F
→
10/23 17:10,
4周前
, 113F
10/23 17:10, 113F
→
10/23 21:20,
4周前
, 114F
10/23 21:20, 114F
Android 近期熱門文章
PTT數位生活區 即時熱門文章