SKRoot: a kernel-level root that patches the stock boot image instead of flashing Magisk
新一代 SKRoot,完美隐藏Root功能,无视全网检测手段,实现SELinux零触碰、无挂载! 通杀所有内核,免源码直接 Patch 原厂内核,完美保留官方内核所有特性。
At a glance
- What is it?
- SKRoot hides root by patching a vendor kernel binary, not by mounting anything. It targets Android security testers and kernel developers, and it assumes you can unpack and repack boot.img yourself.
- Who is it for?
- Adopt SKRoot if you repair or test Android devices and already know how to unpack and repack a boot image with magiskboot; the Lite release pairs a Windows patcher with an APK and needs no kernel source.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What SKRoot is for, and who it is not for
SKRoot is a root solution for Android that lives inside the kernel rather than in the filesystem. The README describes the design as "SELinux zero touch, no mounts", meaning the root capability is added by modifying the kernel binary the vendor shipped, not by mounting a modified system partition or by changing SELinux policy. That is the whole pitch: detection tools that look for Magisk-style mounts, altered SELinux contexts, or a modified system image have nothing to find because none of those things changed.
The intended user is someone working on a device they are allowed to modify, most likely a security tester checking whether an app's root detection actually works, or a kernel developer who wants root on a retail device without recompiling the vendor kernel. The README's own framing is defensive: it walks through how to avoid leaving traces, how to hide the demo app, and what to do if the bootloader unlock itself is being detected. It is not written for someone who wants a one-click root for a phone they depend on.
Two constraints are stated plainly. First, the patcher works on the original vendor kernel. The troubleshooting section says the kernel "must be modified from the official original version, not self-compiled or compiled from third-party source". Second, the README explicitly discourages compiling your own kernel because it loses the vendor's power management tuning, which it ties to battery drain and heat.
How kernel patching replaces the Magisk mount model
Magisk's approach is well known: it patches the boot image to load a userspace daemon early, then uses mounts and namespace tricks to present a modified view of the system to selected processes. SKRoot takes a different route. According to the README, it patches the kernel binary directly, so the root capability is part of the running kernel rather than something layered on top of it at boot.
The mechanism is a binary patch applied by a host-side tool. The README's Lite workflow is: drag the kernel file onto patch_kernel_root.exe, which runs the whole patching sequence automatically and generates a root key. That key is a 48-character random string, and the README states that the only way an app obtains root is by presenting it. There is no su binary sitting in a predictable path being consulted by a policy daemon; authorisation is by key, and the README says su installation, injection into a target process, and full removal are all exposed as operations.
Injection has a stated limit: su can only be authorised into 64-bit apps. Older 32-bit apps are no longer supported for that path. The Pro tier, which the README says is fully developed but only partially published, adds a kernel module SDK with a hook framework described as having "0 performance loss" and no side-channel traces, plus dynamic offset resolution so a single compiled module works across kernel versions 3.10 to 6.12. Those numbers and claims come from the project's own description; nothing in the repository lets an outside reader verify them.
Installing SKRoot Lite and patching a boot image
The README gives two ways to get the Lite release: build from source, or download the compiled artifacts. The release page for Lite_v2026.9.14 lists both a Windows executable and an APK. The patcher is the piece that does the work.
Start by downloading the two artifacts from the release page.
# from the Lite_v2026.9.14 release assets
# patch_kernel_root.2026-9-14.exe
# SKRoot_Lite.2026-9-14.apkExtract the kernel from your device's boot image. The README is specific about the tooling here: do not use Android.Image.Kitchen for kernels above Linux 6.0, because it does not support them. Use magiskboot instead. The README explains how to obtain it: unpack Magisk.apk with 7z and rename lib/x86_64/libmagiskboot.so to magiskboot, since it is a Linux executable despite the .so name.
./magiskboot unpack boot.img
# patch the extracted kernel with patch_kernel_root.exe
./magiskboot repack boot.imgAfter repacking and flashing, install the APK and enter the 48-character root key that the patcher generated. The README also mentions a testRoot program as an alternative to the APK. If the device will not boot on a kernel above 6.0, the first thing to check is which packaging tool you used, because that is the failure the README calls out by name.
Where SKRoot fails or is the wrong tool
The most concrete failure mode is packaging. The README states that Android.Image.Kitchen does not support kernels above Linux 6.0 and that using it produces a non-booting device. That is a hard dependency on magiskboot, which the README notes has no official Windows build, so the repack step effectively requires a Linux machine. A Windows-only workflow can patch the kernel but not safely repack it.
The second failure mode is environmental, and SKRoot cannot fix it. The troubleshooting list says that if you previously used Magisk you should fully reflash the phone, because Magisk can leave log files behind. It also says not to install apps that request root or perform environment checks, naming 冰箱, 黑洞, momo and key attestation tools, because their presence can itself be evidence that the device is rooted. It further notes that the demo app can be fingerprinted and should be hidden, ideally by parasitising it into a harmless app. In other words, kernel-level hiding is necessary but not sufficient; the rest of the device has to be clean.
A third boundary: if the detection you are fighting is bootloader unlock detection rather than root detection, the README says SKRoot is not the answer. You need the hidden-BL module or the "no unlock" mode, both of which are Pro features. On Lite, that case is out of scope.
How SKRoot differs from Magisk and KernelSU
Magisk and KernelSU both end up mounting or overlay something. Magisk patches the boot image to start a userspace daemon and then uses mounts to hide changes. KernelSU, as commonly understood, requires building a kernel with its patches, which means you need kernel source and a working toolchain for that device. SKRoot's difference is that it operates on the vendor's compiled kernel binary, with no source and no rebuild, and the README claims it keeps the vendor's own tuning intact.
That difference cuts both ways. Not rebuilding means you inherit whatever the vendor shipped, including any backdoors or debug hooks they left in, and it means your root capability is tied to a specific binary. It also means the patch has to survive vendor kernel updates, and the changelog shows a steady stream of compatibility fixes: Linux 4.4, 4.x, 5.15 and 6.12 adaptations in 2026, Linux 6.1 and 6.6 parsing fixes in 2025, boot failures on 5.10 and 5.15 fixed in 2023. Every one of those is a version that once did not work. If your device runs a kernel the project has not seen, you are the test case.
KernelSU's model is more transparent in one respect: because it is built from source, you can read exactly what it does. SKRoot ships a patcher binary and an APK; the Pro SDK and module guide are published, but the README says the remaining Pro components will be released gradually once stable.
Maintenance, licensing and upgrade cost
The last push to the repository was on 2026-09-21, and the most recent release, Lite_v2026.9.14, is dated 2026-09-15. The project is not archived. The changelog runs from 2023 through 2026 and is dominated by compatibility repairs rather than new capability, which tells you what upgrading costs: each new kernel version is a potential break, and the fixes arrive as new patcher builds. There is no documented upgrade path from one Lite release to the next in the README, and no statement about whether a device patched with an older build needs a full re-patch to move forward.
The licence is not stated in the repository. There is no LICENSE file listed among the top-level entries, which are Lite_version/, Pro(众测开放中)/ and README.md, and the README does not name one. That matters if you plan to redistribute the patcher, bundle it into a product, or ship the Pro SDK in anything commercial. Without a stated licence, the default position is that the author retains all rights, but confirming that is a question for a lawyer, not for this article. The Pro tier is described as in public beta, with only the module SDK and the module development guide published so far.
Editorial conclusion
Adopt SKRoot if you repair or test Android devices and already know how to unpack and repack a boot image with magiskboot; the Lite release pairs a Windows patcher with an APK and needs no kernel source. Do not adopt it if you want a maintained, documented root manager for a daily phone: the Pro components are still in closed beta, the licence is not stated in the repository, and the README warns that leftover Magisk logs or detection apps will expose you regardless of SKRoot. Before flashing anything, verify that the kernel you intend to patch is the vendor's original binary, not a self-compiled one, and check whether the target kernel version is one of those the changelog lists as previously broken.
Frequently asked questions
Does SKRoot need the Linux kernel source code to work?
No. The README states that SKRoot patches the original vendor kernel binary directly and does not require kernel source or a kernel build. It also warns against compiling your own kernel, because that discards the vendor's power management tuning.
Which Linux kernel versions does SKRoot support?
The README gives the supported range as Linux 3.10 to 6.12. The changelog shows that several versions in that range needed fixes before they worked, including 4.4, 4.x, 5.10, 5.15, 6.1, 6.6 and 6.12.
Why will my device not boot after patching with SKRoot on a Linux 6.0 or newer kernel?
The README attributes this to the packaging tool. It says Android.Image.Kitchen does not support kernels above Linux 6.0 and should not be used, and that magiskboot should be used to unpack and repack boot.img instead.
How does an app get root permission under SKRoot?
The README states that the only way an app obtains root is by presenting a 48-character random root key, which the patcher generates automatically when it processes the kernel. The README also notes that injecting su into a target process only works for 64-bit apps.
Is SKRoot enough on its own to pass root detection?
No. The README's troubleshooting section says that leftover Magisk logs, installed root-requesting apps, and the demo app's own fingerprint can all expose a rooted device even when the kernel patch is in place. It recommends a full reflash if Magisk was used before.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/abcz316-skroot-linuxkernelroot)