KernelSU: 内核 ROOT 方案, KernelSU KernelSU KernelSU 新的隐藏root防止检测 封号方案

news2025/1/16 21:03:37

大约一年多以前,我在一篇讲Android 上 ROOT 的过去、现在和未来https://mp.weixin.qq.com/s?__biz=MjM5Njg5ODU2NA==&mid=2257499009&idx=1&sn=3cfce1ea7deb6e0e4f2ac170cffd7cc1&scene=21#wechat_redirect 的文章中提到:

我认为,随着 GKI 的出现,内核的碎片化会逐渐消失,我们完全可以通过修改内核的方式去获取 EL1 root。

本以为这一天很快就会到来,没想到时间过去这么久,马上都要 Android 14 了,这玩意儿还是没有出现...没办法,我就只好自己动手了!其实我之前在探索某大型 5V5 游戏的态势感知系统的时候,已经使用过内核相关技术了;正好几个月前换了新手机,其系统出厂是 Android 12,内核是基于 GKI 的;于是我尝试把这个「态势感知系统」移植到 GKI 内核上,在移植的过程中,KernelSU 的雏形初现;我索性一不做二不休,直接把它淦完了!现在我宣布:

KernelSU,一种基于内核技术的 ROOT 方案,它来了!

什么是 KernelSU?

KernelSU,顾名思义,就是基于内核的 SU。它通过自定义内核,直接在内核中赋予目标进程 root 权限。更多关于 root 的知识可以参考我之前的文章:何为 root?。

其实 KernelSU 很早就有人提出了来了,大约 2018 年的时候,XDA 上的 zx2c4 就给出了一个简单的实现[1];虽然整个实现非常简单,但它的确给我们展示了另外一种可能。后来,LSPosed 团队在实现 WSA 的 Magisk 方案的时候,也曾通过 KernelSU 来 root WSA[2]。

由于 KernelSU 的实现需要自定义内核,而 Android 系统的碎片化极其严重,又由于 Linux 内核不同版本之间没有兼容性可言;因此之前的 KernelSU 方案很难拥有通用性:你必须给每个型号的设备编译一个自定义内核,这几乎是不可能实现的。另外,之前的 KernelSU 实现没有鉴权系统,系统中的任何进程,无需任何授权,都可以直接通过 su 访问到 root 权限;这对普通用户来说是难以接受的:随便一个 App 一上来就有可能控制你的整个手机。

不过,我今天实现的 KernelSU 已经很好地解决了以上两个问题。

我干了什么?

为了解决之前内核 root 方案的问题,我干了三件事:

第一件事,就是等。我等到了 GKI 的出现,Google 通过 GKI 统一了 Android 系统的内核,在 GKI 2.0 以后,不同的 Android 设备之间在 KMI 兼容的情况下,是可以使用通用内核的;虽然理想与现实之间还是有一些差距,但现在 GKI 内核的通用性,已经与曾经那个碎片化时代不可同日而语了。

第二件事,我找到了一种 KernelSU 的鉴权方案;通过在内核中扫描当前进程的 apk,然后验证其签名来实现 root 管理器;root 管理器与内核之间通过特制的系统调用来授权,保证未授权进程无法使用 root 功能。

第三件事,我采用了一种稳定的系统调用拦截技术;通过 kprobe 来拦截系统调用,进而实现 root 管理器和内核之前的通信,不在文件系统中留痕,能完美地隐藏自己。

FAQ

KernelSU 支持哪些设备?

内核版本 5.10 以上的设备支持,其他均不支持;未来也许可以通过 static binary instrumentation 的方式 backport 到旧内核,就看有没有有缘人来实现了。

KernelSU 与传统的 ROOT 有什么区别?

KernelSU 主要工作在内核空间,而传统的 ROOT 如 Magisk 实际工作在用户空间。

KernelSU 能有类似 Magisk 的模块功能吗?

KernelSU 会有模块功能,不过可能与 Magisk 的模块不同;KernelSU 将提供内核模块接口,其规划的模块功能,主要用来将代码或者脚本文件加载进内核空间执行;而非类似 Magisk 那样提供文件系统 overlay。不过理论上讲,KernelSU 也可以实现文件系统 overlay。

KernelSU 的模块能提供 Xposed 功能吗?

KernelSU 的模块将来主要工作在内核空间,而 Xposed 为用户空间的功能;因此 KernelSU 无法之间实现 Xposed;目前来看,基于 ptrace 的注入技术可以部分实现 Xposed 的功能(比如少阴App),但我认为将来可能有更好的方案出现。

KernelSU 能完美隐藏 root 吗?

我不确定。但理论上讲,内核相比应用程序处于特权级别,它有能力对应用程序屏蔽任何信息;比如在内核中可以完美地拦截所有系统调用,这是隐藏 root 的核武器。

KernelSU 最大的优势是什么?

KernelSU 可以提供针对内核的 HOOK 接口,你可以对内核中的几乎任意函数进行拦截;比如拦截系统调用,过滤 openat、inofity 等。内核级别的 HOOK,意味着对所有所有进程完美的控制,除非你的对手也是 root 进程。

KernelSU 是开源的吗?

Yes, 开源地址:https://github.com/tiann/KernelSU

普通用户如何使用?

先自行摸索,或者等教程。

结语

KernelSU 还有很多功能有待完善,如果有问题请大家多多包容,有能力欢迎加入开发 :)

最后祝大家玩得开心!

晚安!

引用链接

[1] 简单的实现: https://git.zx2c4.com/kernel-assisted-superuser/
[2] 通过 KernelSU 来 root WSA: https://github.com/LSPosed/WSA-Kernel-SU

KernelSU: Android 内核编译方法和开发环境搭建

都是改 boot。不过一个是改 kernel,magisk是改用户空间的 init。

KernelSU: 内核 ROOT 方案, KernelSU KernelSU KernelSU,手机资源 - Powered by Discuz! (aialbb.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145078.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三菱FX5U 多个表格运行指令 DRVTBL

简述该指令可以用GX Works3预先在表格数据中设定的控制方式的动作,(连续或步进) 执行多行。 本文演示了步进执行多行。指令解释2.1梯形图中的指令第一个参数:输出脉冲的轴编号 ,K1,K2,K3,K4... 第二个参数:…

ESP8266 Windows开发环境搭建(IDE1.5)好用不骗人

最近一个项目需要用ESP8266,找了很多文章进行环境搭建编译都很问题,不是make Menuconfig 不出来,就是编译报错,现总结如下。 我在自己电脑上没弄出来,就安装了一个虚拟机很干净的环境没有其它开发环境影响。 提前去官…

逆向入门|全国建筑市场监管公共服务平台JS逆向

看了志远的公开课,自己做一下练手。 全国建筑市场监管公共服务平台(四库一平台) 先点到 数据这里打开f12看一眼 第一个就是 https://jzsc.mohurd.gov.cn/api/webApi/dataservice/query/comp/list?pg1&pgsz15&total450 取这个地址…

线段树讲解

0、引入 假设给定一个长度为 1001 的数组,即下标 0 到 1000。 现在需要完成 3 个功能: add(1, 200, 6); //给下标 1 到 200 的每个数都加 6; update(7, 375, 4); //下标 7 到 375 的数全部修改为 4 query(3, 999); //下标 3 到 999 所有数…

深入理解如何利用PWM驱动舵机:ESP32驱动DS1115舵机

深入理解如何利用PWM驱动舵机:ESP32驱动DS1115舵机DS1115舵机技术规格举例说明之前做了一个项目,关于ESP32驱动DS1115舵机,但是在项目运行的过程中由于学艺不精,导致电机抽搐 😵‍💫,所以特意拜…

声纹识别可靠评测

分享嘉宾 | 李蓝天 文稿整理 | William 1 Introduction 声纹识别的发展,非常迅猛,在一些基准上取得了不错的效果,但如果将其部署到一个实际的应用系统里面, 从应用方的反馈来看,纹识别在很多场景里的鲁棒性并不理想。…

聚观早报 | 亚马逊将裁员17000人;苹果砍单MacBook等产品线架构

今日要闻:亚马逊将裁员17000人;苹果砍单MacBook等产品线;京东科技调整组织架构;小米x徕卡团队获技术大奖;必应搜索或将纳入ChatGPT亚马逊将裁员17000人 1 月 5 日消息,知情人士称,亚马逊新一轮裁…

正版授权|FastStone Capture 专业屏幕截图录屏工具软件 商业版,支持商业用途。

现在截图对每个人来说都是一个必不可少的功能。QQ软件截图、360游览器截图等都是相对简单快速的途径。但是如果你对截图有更多的要求,那么这里推荐一款截图软件,它就是FastStone Capture。这个对于商城老用户来说,几乎是接近人手一份。强大的…

【VUE3】保姆级基础讲解(六)Axios库

目录 Axios介绍与原生的差异 发送常见的请求和配置选项 1、发送request请求 baseURL : 2、发送get请求 3、发送post请求 axios.all Axios创建新的实例 请求和响应拦截 请求拦截 响应拦截 Axios介绍与原生的差异 Axios其实就是一个网络请求库 与原生的差异&…

勇夺中国市场豪华品牌第一名后,特斯拉S3XY全系售价调整

比你优秀的人比你更努力,用这句话形容特斯拉最贴切不过。 刚刚过去的2022年,特斯拉在海内外市场交出了亮眼答卷:全球共计交付产品超131万辆,同比增长40%;乘联会给出的数据显示,上海超级工厂全年交付71.1万辆…

不止IVAS,微软Azure也在布局这些军事模拟场景

一提起微软在军事领域的应用,我们第一印象可能是美军以220亿美元采购HoloLens 2 AR头显的项目,这个项目后期由于AR光学和设计方面受限,正式应用的日期一直再推迟。实际上,微软除了向美军提供HoloLens外,还提供了基于云…

Unity 3D GUI 简介||OnGUI Button 控件

游戏开发过程中,开发人员往往会通过制作大量的图形用户界面( Graphical User Interface,GUI )来增强游戏与玩家的交互性。 Unity 3D 中的图形系统分为 OnGUI、NGUI、UGUI等,这些类型的图形系统内容十分丰富&#xff0…

第05章 数组、排序和查找

数组 基本介绍 数组可以存放多个同一类型的数据,数组也是一种数据类型,是引用类型。 即:数组就是一组数据。 数组的使用 1、数组的定义 方法一: 数据类型[] 数组名 new 数据类型[大小] 说明:int[] a new int[5…

【C++ Primer】阅读笔记(5):vector|迭代器|数组

目录 简介参考结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研 学习经验:…

数图互通高校房产管理——CAD图形管理

数图互通房产管理系统在这方面做得比较全面; 支持通过建筑物的楼层CAD图查看房间属性和使用信息,实现图数结合、以图管房、图数互查、数图互通、图文一体化。 1.1支持客户端和AutoCAD无缝集成 支持客户端和AutoCAD无缝集成,实现在客户端/Aut…

Acwing---796.子矩阵的和

子矩阵的和1.题目2.基本思想3.代码实现1.题目 输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数1,y1,2,y2,表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。…

质性分析软件nvivo的学习(三)

0、前言: 这部分内容是,质性分析软件nvivo的学习(二)的衔接内容,建议看完:质性分析软件nvivo的学习(一)(二)再看这部分内容。这里的笔记都是以nvivo12作为学…

高成长、高潜力、高社区影响,达坦科技入选 2022 中国新锐技术先锋企业

2023 年 1 月 4日,中国技术先锋年度评选 | 2022 中国新锐技术先锋企业榜单正式发布。作为中国领先的新一代开发者社区,SegmentFault 思否依托数百万开发者的用户数据分析,各科技企业在国内技术领域的行为及影响力指标,最终评选出 …

【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO

文章目录一、知识蒸馏Knowledge Distillation二、参数量化结构设计:深度方向可分卷积Depthwise Separable Convolution1、Depthwise Convolution三、动态计算Dynamic Computation四、From on-policy to off-policy(PPO)一、知识蒸馏Knowledge Distillati…

Python蓝桥杯训练:数组和字符串 Ⅳ

Python蓝桥杯训练:数组和字符串 Ⅳ 文章目录Python蓝桥杯训练:数组和字符串 Ⅳ一、买卖股票的最佳时机二、删除排序数组中的重复项三、找出字符串中第一个匹配项的下标四、将整数转换为两个无零整数的和一、买卖股票的最佳时机 给定一个数组 prices &…