
Temporary root for OPPO Find X5 Pro (PFEM00) via CVE-2025-21479 + KernelSU LKM late-load (cloud-buildable)
基于 CVE-2025-21479(Adreno KGSL)的 OPPO Find X5 Pro PFEM00(内核 5.10.198-android12-9,ColorOS,BL 未解锁)内存态临时 root,落到 KernelSU v3.3.0 LKM late-load。English: README.md
链路:KGSL 物理读写 → 缴械 OEM guard、SELinux permissive、kptr_restrict=0 → capset 补丁发 full caps → ksud late-load(官方 KernelSU LKM android12-5.10)→ KernelSU 管理器 me.weishu.kernelsu。重启全部失效,不刷任何分区。
仅限自有设备安全研究。exploit 写内核内存,失败会触发重启,风险自负。
从 Releases 下载 bundle(exploit_guard、su0、ksud、oneclick_root.sh),放同一目录,PC 装 adb:
bash oneclick_root.sh # 完整链 + 验证汇总
bash oneclick_root.sh shell # 成功后进 uid=0 shell
bash build.sh # Android NDK r28c(或设置 ANDROID_NDK_HOME),aarch64, API 31
每次 push 自动跑 GitHub Actions 构建并上传 bundle artifact;打 v* tag 会发布到 Releases。
单个二进制通吃所有已适配固件:版本差异全部在 profiles/<内核版本>.env 里,oneclick_root.sh 按 uname -r 自动加载(profile 优先,内置版本回落编译默认值;未适配的内核会打印指引并退出,按指引用可视化工具算一份 profile 即可)。
内核(uname -r 前缀) | 固件 | 状态 |
|---|---|---|
| 5.10.198 | ColorOS 旧版(920file 同源) | 内置 ✅ |
| 5.10.168 | 14.0.0.81(CN01) | 内置 ✅ |
新增其他固件版本(Release bundle 里自带 tools/,无需装任何环境):
# 可视化:双击 tools/offset_tool.exe(或 tools/offset_tool.pyw)→ 选择 boot.img → 计算偏移 → 保存到一键脚本目录
# 命令行:
py -3 tools/offset_tool.pyw --cli boot.img --save . # 解内核 → 提符号 → 算偏移 → 写 profiles/<kver>.env
原理:exploit 运行时自己解析 kallsyms(_text/init_cred/commit_creds 等全部动态查表),写死的只有三个 bootstrap 常量(idmap_pg_dir 相对 _text、init_task/selinux_state 相对 idmap_pg_dir);swapper−idmap=0x5000 与 real_cred/cred=0x778/0x780 等结构体偏移在 android12-5.10 全系不变(工具会自动校验)。也可不经 profile 直接用 CHEESE_* 环境变量覆盖任意常量。
src/cheese.c exploit 全部源码(单编译单元:KGSL 原语、guard 补丁、SELinux/kptr、capset 补丁)
src/adrenaline.h KGSL ioctl 接口(Project Zero Adrenaline)
src/kallsyms_lookup.c kallsyms 查找
src/su0.c uid=0 跳板
scripts/oneclick_root.sh PC 端一键链路(检测内核版本,自动加载 profiles/<kver>.env)
profiles/ 每内核版本的偏移数据(env 格式)
tools/offset_tool.exe/.pyw 可视化偏移计算器(选 boot.img → 算偏移 → 写 profile/更新一键脚本)
tools/dumpsyms.c/.exe 从内核 Image 提符号(复用 exploit 自带 kallsyms 解析器)
tools/derive_profile.sh 固件 Image → 新版本 profile(命令行版)
tools/verify_offsets.py 校验结构体偏移(需 capstone)
build.sh 本地构建
GPL-3.0 —— 见 LICENSE。© 2026 diyiqiuye。基于公开的 CVE-2025-21479 研究代码改编,上游各自声明继续适用。