在我的 SM-S901W S22 5.10.168-android12-9-27760517-abS901WVLS4DWL3 上,以内核域完整 root,SELinux 为 permissive。
我不打算在这篇里讲得太详细或太长,因为外面已经有大约 5,000 个类似的仓库了,而且据我所知,这些同款漏洞利用的每一个变体几乎都是针对各自适配的设备定制的,我也写烦了。我这份特别来自这位才华横溢的先生,这个方法的所有功劳都归他 https://github.com/sarabpal-dev/IonStack-S22U 我会准确说明为什么写长篇分析毫无意义,以及下面包含的所有信息作为模板已经足够。下面是 sarabpal-dev 使用的设备,再下面是我的
Device: Samsung Galaxy S22 Ultra (SM-S908W)
Codename: b0q
Android: 15 / SDK 35
Build number: AP3A.240905.015.A2.S908WVLS8FYG7
Build display ID: AP3A.240905.015.A2.S908WVLS8FYG7
Build fingerprint: samsung/b0qcsx/b0q:15/AP3A.240905.015.A2/S908WVLS8FYG7:user/release-keys
Kernel: 5.10.226-android12-9-30958166-abS908WVLS8FYG7
Architecture: aarch64
Device: Samsung Galaxy S22 (SM-S901W)
Codename: r0q
Android: 14 / SDK 34
Build number: UP1A.231005.007.S901WVLS4DWL3
Build display ID: UP1A.231005.007.S901WVLS4DWL3
Build fingerprint: samsung/r0qcsx/r0q:14/UP1A.231005.007/S901WVLS4DWL3:user/release-keys
Kernel: 5.10.168-android12-9-27760517-abS901WVLS4DWL3
Architecture: aarch64
所以你看,它们非常相似,但两者之间有一个很大的区别。他的版本使用了一个完全以 32 位构建的可执行文件,而我的版本则必须改成 64 位,同时还要与其余代码保持兼容。为了验证这甚至是否是一条可行的利用路径,我花了大量功夫反汇编等等。所幸它是可行的,但我不能对其他人做任何保证。我希望这仍然是一个很多人都能使用的好方法,但这得靠你们自己去发现。README 和某些注释可能不完全适用于这款设备,但代码是准确的,所以这对我来说才是最重要的
P.S. 你需要的是 termux 中的 android-ndk,以及与你确切固件版本对应的 boot.img,用来提取内核和 kallsyms。我加入了日志记录,它会保存一个文件到 /sdcard/cve-2026-43499.log,这样万一它导致内核崩溃(panic),你至少还能有些信息可依据,如果你不知道重启后怎么找到相关信息的话(要是那样的话你本不该做这个,但这也无所谓了)。