“Android”“MediaTek”或相同内核大版本都不是支持证明。数据集中甚至有扫地机器人、车机、模拟器和电视工具被归为手机 Root。本教程不先侧载候选 APK,而是建立支持证据卡;写盘前只在可丢弃 AVD 练习 debug root 与 snapshot 回滚。
你会完成什么#
- 识别目标是手机、AVD、电视、扫地机器人还是其他 Android 设备。
- 对齐 SoC、board/codename、build、kernel、SPL、ABI 与 boot/security chain。
- 审计上游、Release/hash、测试型号、漏洞前提、写盘动作和恢复路径。
- 在 AVD 上完成一次可撤销实验,对真实旧 MTK 只给出证据化继续/停止结论。
先看结论#
| 候选路线 | 持久性/写盘 | 新手结论 |
|---|---|---|
AVD debug image 的 adb root | 临时/快照可丢弃 | 最适合学习权限与回滚,不代表实体机可 Root |
| 旧 MTK temporary exploit | 通常临时,受具体漏洞/SPL限制 | 只有上游测试表精确命中才进一步研究 |
| boot image patch | 持久修改启动链 | 需要官方解锁、exact stock image 与回滚 |
| MTK BROM/DA、seccfg/write | 直接写关键存储 | 高级恢复/研究;本文不执行 |
| 扫地机器人/TV/车机专用工具 | 设备特化 | 绝不能因品牌或 Android 名称套到手机 |
心智模型#
设备类别 → SoC/board → exact build/kernel/SPL → boot/auth 状态
↓ ↓ ↓ ↓
候选上游 → 测试型号表 → 漏洞/接口假设 → 备份与恢复路径
全部匹配 → 隔离实验;任一不匹配 → 停止,不靠“试运行”判断
所谓机型专用至少由六项共同决定:设备类别、SoC、board/codename、Android build、kernel/SPL 和 boot/security chain。同系列 SoC 的 offset、厂商 auth 与补丁可能完全不同;“能安装 APK”不等于 exploit 可安全执行。
工具清单#
| 工具 | 角色 | 什么时候用 | 来源与注意 |
|---|---|---|---|
| Android Emulator | 可快照的权限实验 | 第一次动手 | 选择可调试 image;Google Play image 通常限制不同 |
| MTK Easy SU | 旧 MTK 临时提权案例 | 只读支持表审计 | 较新 SPL 可能已修,锁 BL 持久化有砖风险 |
| mtkclient | MTK BROM/DA dump/flash | 高级只读备份研究 | erase/write/seccfg 不在新手主线 |
| AERoot | 历史 AVD 工具 | 了解旧方案 | 优先官方 emulator 能力,不把旧脚本当当前默认 |
| viomi-rooting | 专用机器人案例 | 训练识别设备类别 | 面向 Viomi 机器人,不是 Xiaomi 手机 |
项目全景:机型 Root 工具的 11 个项目,一个不漏#
十一项数据混合旧 MTK 临时 Root、扫地机/面板/车机、模拟器、资源目录、免 Root ADB 工具和普通 Root 应用。文章用“先识别设备类型,再选择权限路线”避免一键 Root 幻觉。
| 技术路线 | 项目数 | 处理等级 | 在主题任务中的位置 |
|---|---|---|---|
| 旧 MediaTek 临时 Root | 2 | 候选路线 | mtk-su 与 mtk-easy-su 只适用于特定旧 SoC/补丁。先读取 SoC、内核和 SPL,已修补设备立即停止;不把临时提权当作持久、通用方案。 |
| 扫地机、面板与 Android 车机 | 3 | 候选路线 | Viomi 扫地机、NSPanel Pro 和 KSW 车机按硬件专用路线介绍。必须确认板型、固件、UART/恢复入口,手机 fastboot 经验不能直接迁移。 |
| Android 模拟器与虚拟机权限 | 2 | 候选路线 | AERoot 是 Google Play AVD 的进程级临时权限,vmConsole 则明确无需 Root。把宿主、客体和模拟器镜像分开,不把它们写成实体手机 Root。 |
| 机型资源目录与发现入口 | 1 | 候选路线 | Droidify 聚合 ROM、Recovery、Root 工具和多机型资料,只用于查找候选资源。要求继续核对原作者、发布日期、哈希与精确机型。 |
| 免 Root ADB 工具 | 2 | 候选路线 | adb-quickstart 和 android-adb-toolkit 提供无线 ADB、备份、精简等替代能力。明确它们获得 shell 权限而非 UID 0,并给出撤销调试授权的方法。 |
| 普通 Root 应用与信息不足项目 | 1 | 边界复核 | 兜底收纳充电控制等“需要 Root 的应用”和描述不足条目。解释它们消费 Root 权限而非取得 Root,并限制授权范围。 |
1. 旧 MediaTek 临时 Root · 2#
mtk-su 与 mtk-easy-su 只适用于特定旧 SoC/补丁。先读取 SoC、内核和 SPL,已修补设备立即停止;不把临时提权当作持久、通用方案。
本组共 2 项:1 个源项目、1 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。
| 项目 | 上游定位与识别信号 | 状态与采用前检查 |
|---|---|---|
| KoCleo/mtk-easy-su | 主题用途:将 KoCleo/mtk-easy-su 纳入「旧 MediaTek 临时 Root」候选路线,根据 Kotlin 核对功能、平台与版本适配。 上游自述(保留原文):MTK旧机一键ROOT,免刷机 | 未归档 Fork · ★ 55 · 协议未声明 · 2025-11-07。Fork:采用前先与上游比较提交、Release 和维护者说明。 |
| pikpikcu/mtk-su | 主题用途:将 pikpikcu/mtk-su 纳入「旧 MediaTek 临时 Root」候选路线,根据 mediatek · root · xda 核对功能、平台与版本适配。 上游自述(保留原文):mtk-su | 未归档源项目 · ★ 33 · 协议未声明 · 2020-02-07。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
2. 扫地机、面板与 Android 车机 · 3#
Viomi 扫地机、NSPanel Pro 和 KSW 车机按硬件专用路线介绍。必须确认板型、固件、UART/恢复入口,手机 fastboot 经验不能直接迁移。
本组共 3 项:3 个源项目、0 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。
| 项目 | 上游定位与识别信号 | 状态与采用前检查 |
|---|---|---|
| rumpeltux/viomi-rooting | 主题用途:将 rumpeltux/viomi-rooting 纳入「扫地机、面板与 Android 车机」候选路线,根据 Shell 核对功能、平台与版本适配。 上游自述(保留原文):Tool for rooting the Xiaomi STYJ02YM (viomi-v7) and Mijia STYTJ02YM (viomi-v8) vacuum robot | 未归档源项目 · ★ 112 · 协议未声明 · 2026-01-24。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。 |
| seaky/nspanel_pro_roottool_apk | 主题用途:将 seaky/nspanel_pro_roottool_apk 纳入「扫地机、面板与 Android 车机」候选路线,根据 仓库名、README 与发布记录 核对功能、平台与版本适配。 上游自述(保留原文):未提供仓库简介 | 未归档源项目 · ★ 79 · 协议未声明 · 2025-03-31。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。 |
| KswCarProject/KswRooting | 主题用途:将 KswCarProject/KswRooting 纳入「扫地机、面板与 Android 车机」候选路线,根据 Batchfile 核对功能、平台与版本适配。 上游自述(保留原文):Rooting tool for PX6 and Snapdragon 625 Units on Android 9 and 10. | 未归档源项目 · ★ 24 · 协议未声明 · 2020-06-12。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。 |
3. Android 模拟器与虚拟机权限 · 2#
AERoot 是 Google Play AVD 的进程级临时权限,vmConsole 则明确无需 Root。把宿主、客体和模拟器镜像分开,不把它们写成实体手机 Root。
本组共 2 项:1 个源项目、1 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。
| 项目 | 上游定位与识别信号 | 状态与采用前检查 |
|---|---|---|
| markbirss/vmConsole | 主题用途:将 markbirss/vmConsole 纳入「Android 模拟器与虚拟机权限」候选路线,根据 仓库名、README 与发布记录 核对功能、平台与版本适配。 上游自述(保留原文):Run Linux virtual machine on Android OS. Powered by QEMU. No KVM or root required. | 未归档源项目 · ★ 62 · GPL-3.0 · 2022-06-24。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。 |
| bkerler/AERoot | 主题用途:将 bkerler/AERoot 纳入「Android 模拟器与虚拟机权限」候选路线,根据 仓库名、README 与发布记录 核对功能、平台与版本适配。 上游自述(保留原文):AERoot is a command line tool that allows you to give root rights on-the-fly to any process running on the Android emulator with Google Play flavors AVDs. | 未归档 Fork · ★ 6 · GPL-2.0 · 2021-04-20。Fork:采用前先与上游比较提交、Release 和维护者说明。 |
4. 机型资源目录与发现入口 · 1#
Droidify 聚合 ROM、Recovery、Root 工具和多机型资料,只用于查找候选资源。要求继续核对原作者、发布日期、哈希与精确机型。
本组共 1 项:1 个源项目、0 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。
| 项目 | 上游定位与识别信号 | 状态与采用前检查 |
|---|---|---|
| eliekh05/Droidify | 主题用途:将 eliekh05/Droidify 纳入「机型资源目录与发现入口」候选路线,根据 Python 核对功能、平台与版本适配。 上游自述(保留原文):One place for Android modding. ROMs, recoveries, root tools and guides for 946+ devices. Live data, no ads, no account required. | 未归档源项目 · ★ 7 · NOASSERTION · 2026-06-18。活跃候选:先核对 README、最新 Release、目标版本与已知问题。 |
5. 免 Root ADB 工具 · 2#
adb-quickstart 和 android-adb-toolkit 提供无线 ADB、备份、精简等替代能力。明确它们获得 shell 权限而非 UID 0,并给出撤销调试授权的方法。
本组共 2 项:2 个源项目、0 个 Fork,其中 0 项已归档。新手应先从“未归档的源项目”核对 README 和 Release,再用 Fork 追溯设备适配或历史差异;分组本身不等于推荐安装。
| 项目 | 上游定位与识别信号 | 状态与采用前检查 |
|---|---|---|
| Tarunswamy-Muralidharan/adb-quickstart | 主题用途:将 Tarunswamy-Muralidharan/adb-quickstart 纳入「免 Root ADB 工具」候选路线,根据 Kotlin 核对功能、平台与版本适配。 上游自述(保留原文):Three non-root tools for Android USB Debugging and Wireless ADB — Quick Settings tile, persistent wireless ADB on WiFi, and a one-click script for wireless ADB over phone hotspot. | 未归档源项目 · ★ 12 · MIT · 2026-07-18。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。 |
| OutrageousStorm/android-adb-toolkit | 主题用途:将 OutrageousStorm/android-adb-toolkit 纳入「免 Root ADB 工具」候选路线,根据 adb · android · android-tools · Python 核对功能、平台与版本适配。 上游自述(保留原文):🤖 A web-based ADB toolkit for Android customization — debloat, tweak, backup & more. No root needed. | 未归档源项目 · ★ 9 · 协议未声明 · 2026-05-23。边界命中:先读 README,确认它确实属于当前任务,再决定是否使用。 |
6. 普通 Root 应用与信息不足项目 · 1#
兜底收纳充电控制等“需要 Root 的应用”和描述不足条目。解释它们消费 Root 权限而非取得 Root,并限制授权范围。
本组共 1 项:1 个源项目、0 个 Fork,其中 0 项已归档。它们的平台、用途或分类存在边界,只作逐项核验,不当作默认安装候选。
| 项目 | 上游定位与识别信号 | 状态与采用前检查 |
|---|---|---|
| Mohsents/shargia | 主题用途:将 Mohsents/shargia 作为「普通 Root 应用与信息不足项目」边界条目,通过 android · battery · root · Kotlin 核对它实际是否属于本教程。 上游自述(保留原文):Shargia, Advanced Charging Controller | 未归档源项目 · ★ 28 · 协议未声明 · 2023-12-21。边界条目:先核对实际平台、用途和分类理由,不作为默认安装源。 |
开始前#
从设置/ADB 记录 manufacturer、model、product、device、board、SoC/ABI、完整 fingerprint、kernel 与 SPL;记录 bootloader lock、Verified Boot、厂商 auth/secure boot。对候选项目保存 owner、原始仓库、最后 Release、commit/hash、已测试表和恢复说明。真实设备必须是无个人数据备用机,且已有 exact firmware 和进入恢复模式的方法。
截至 2026-08-09,mtk-su/MTK Easy SU 属于旧漏洞语境,新 MediaTek 不能因品牌沿用。锁定 bootloader 上借临时 root 安装/更新 Magisk 可能导致无法启动;上游若警告这一点,应把它当硬停止条件。
操作步骤#
1. 建立候选与设备匹配表#
逐字段写工具要求与设备实际值,并附来源 URL。测试表必须出现精确型号/build 或明确的 SoC+补丁组合;fork 的 README 不能自动继承上游支持。检查源码能否构建、Release 是否对应 tag、APK/ELF hash、网络域名、写入路径和清理方式。
2. 先在 AVD 学权限与回滚#
用 Android Studio 创建可丢弃 AVD,选择官方文档说明可调试的 system image,启动后保存 snapshot。运行 adb devices、adb shell id;只有 image 允许时运行 adb root 并再次查看 id。观察重启/冷启动后的状态,再恢复 snapshot 或 wipe data,证明实验数据消失。
3. 对真实候选只做只读预演#
旧 MTK 设备若精确命中支持表,也先离线、无 SIM、满电,确认 ADB 序列和完整备份。不运行 exploit,而是列出其预期临时权限、内存/文件改动、是否尝试持久化,以及失败时如何正常重启/刷回。进入 mtkclient 研究时只计划读取 GPT/preloader/boot;本文不给 erase/write/seccfg 命令。
4. 写出继续或停止结论#
“继续”必须列出每项匹配、授权实验环境与恢复证据;“高级研究”说明需要厂商 auth、源码构建或 BROM 专业流程;“停止”列出不匹配字段。不要用运行未知 APK 来补证据。若目标其实是机器人/电视/AVD,就改到该设备专用文档,不能移植到手机。
验证#
| 字段 | 通过证据 | 失败结论 |
|---|---|---|
| 设备类别/型号 | 上游明确写同类与 exact model | 工具不适用 |
| SoC/ABI/build | 测试表逐项一致 | 同系列不能替代 |
| kernel/SPL | 漏洞与补丁时间可核对 | 无法判断或已修补 |
| boot/auth | 工具前提与 lock/secure boot 一致 | 不执行写盘/持久化 |
| 恢复 | firmware、hash、备份、入口已演练 | 真实设备不实验 |
| AVD 回滚 | snapshot/wipe 后恢复基线 | 先修实验环境 |
完成表格比获得 root shell 更重要:它防止把不相关设备工具和历史 exploit 变成不可恢复的尝试。
排错#
| 现象 | 常见原因 | 安全处理 |
|---|---|---|
AVD adb root 被拒 | 选择了 production/Google Play image | 换官方可调试 image,不把限制类比实体机漏洞 |
| APK 能装但无效果 | SPL/SoC/config 已不支持 | 卸载、恢复 snapshot,记录不适用 |
| 防护告警 | 高权限行为、混淆或真实恶意代码 | 隔离,源码/签名无法解释就停止 |
| 设备进入 9008/BROM | 写盘/握手异常或硬件模式 | 不发随机 loader,转官方/专业恢复 |
| fork 宣称支持更多机型 | 未提供测试与源码证据 | 回原作者链,保持“未验证” |
完成清单#
- 已确认目标设备类别,不把机器人、电视、车机或 AVD 工具用于手机。
- exact model/board、SoC/ABI、build、kernel/SPL 和 boot/auth 六项有来源。
- 候选上游、Release/tag/hash、测试表、网络/写入与清理已审计。
- 已在官方 AVD 完成 snapshot、
adb root(若支持)和回滚练习。 - 对真实 MTK 只做只读计划,未执行 erase/write/seccfg 或匿名 APK。
- 结论明确是继续、高级研究或停止,并保留完整恢复材料。