一加内核开源,发现添加「和平精英」专项检测

567 字
3 分钟
一加内核开源,发现添加「和平精英」专项检测

在一加开源的 Ace 6 Ultra(联发科 MT6993)内核模块源代码中,出现了一个新的文件 oplus_kernel_security_check.c。

文件头部注释说明,这是为了「和平精英」的需求进行的内核完整性检测,作者署名为 cenjun,日期标注为 2025 年 12 月。

它的思路并不复杂:不拦截,只记录。ko 文件照常加载,进程不会被终止,也没有任何封禁动作,异常只会记录为事件,等待用户空间读取。


🔍 检测了什么#

1. 系统调用表(Syscall Table)#

  • 开机时,为整个表记录一份 SHA256 指纹,之后每小时重新计算一次。
  • 如果与初始值不符,就会记录一条带有时间戳记的事件。
  • 限制:只比较表中的函数指针,不检查函数本体,因此 inline hook 是无法检测到的。

2. ko 模块加载(Kernel Module Loading)#

挂载在内核的 load_module 上,每次加载一个 ko 文件,就会对其映像计算哈希值,然后与名单进行比较:

  • 不在名单中:记录为未知模块
  • 哈希值不匹配:记录为被篡改
  • 哈希值一致:放行

名单由系统进程 oplus_kohashpro 写入,并且必须等待系统报告开机完成后,检测才会启动。每类事件最多保留 10 条,超出部分会丢弃最旧的。


⬆️ 对 root 用户意味着什么#

判定方式只有一条:是否在名单上。即使是自己编译、完全无害的 ko 文件,在它看来也与被篡改的 ko 文件没有区别。

  • KSU 的模块:不经过 load_module,不在检测范围内。
  • KernelSU 本体:如果以 LKM 方式加载,它自己的 ko 文件会被记录为未知模块(此项依代码逻辑推断,尚未经实际设备验证)。这也代表从理论上使用 GKI 或 Magisk 就能规避该项检测。

不少 root 玩家表示,他们同样反感作弊行为,也理解游戏方维护公平环境的需要,只希望这类信号仅作为参考,不要直接等同于作弊证据。


Note

以上内容均基于对公开源代码的解读。

源代码来源:OnePlusOSS / android_kernel_modules_and_devicetree_oneplus_mt6993

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
一加内核开源,发现添加「和平精英」专项检测
https://www.nkbe.top/posts/oplus-kernel-security-check/
作者
NkBe
发布于
2026-10-03
许可协议
CC BY-NC-SA 4.0
文章目录