
Lenovo Legion Y700 2023 (TB320FC) के लिए इन-मेमोरी कर्नेल प्रिविलेज एस्केलेशन, जो CVE-2025-21479 का उपयोग करता है, एक Qualcomm Adreno GPU SMMU दोष, ReSukiSU रूट प्रबंधन के साथ।
English | 简体中文
Lenovo Legion Y700 2023 (TB320FC) के लिए इन-मेमोरी कर्नेल प्रिविलेज एस्केलेशन, जो CVE-2025-21479 (Qualcomm Adreno GPU SMMU भेद्यता) का शोषण करता है, तथा पूर्ण रूट प्रबंधन ReSukiSU द्वारा प्रदान किया जाता है।
सक्रियण के लिए कोई बूटलोडर अनलॉक नहीं। कोई फ्लैशिंग नहीं। कोई PC आवश्यक नहीं।
⚠️ केवल उन डिवाइसों पर अधिकृत सुरक्षा अनुसंधान के लिए जिनका आप स्वामी हैं। देखें अस्वीकरण।
इस प्रोजेक्ट में सभी ऑफ़सेट और व्यवहार निम्नलिखित डिवाइस के लिए अनुकूलित हैं। बिना पुनः अनुकूलन के इसे अन्य मॉडल/ROM पर काम करने की अपेक्षा न करें (देखें exploit/device_info.txt)।
| मॉडल | Lenovo Legion Y700 2023 (TB320FC) / TB320FC_PRC |
| SoC | Qualcomm SM8475 (Snapdragon 8+ Gen 1, Adreno 730) |
| सिस्टम | ZUXOS 1.1.350 / Android 15 (SDK 35) |
| बिल्ड | AQ3A.240812.002 (TB320FC_CN_OPEN_USER_Q00031.0_V_ZUXOS_1.1.350_ST_250418) |
| कर्नेल | 5.10.209-android12-9-gef44381c3e04-ab50 |
| सुरक्षा पैच | 2025-03-05 |
| बूटलोडर | लॉक्ड (यह प्रोजेक्ट इसे अनलॉक नहीं करता) |
उपरोक्त फर्मवेयर पर 2026-09 तक सत्यापित रूप से कार्यशील।
| क्षमता | कार्यान्वयन |
|---|---|
| प्रिविलेज एस्केलेशन | cheese एक्सप्लॉइट: KGSL SMMU बग → GPU मनमाना भौतिक R/W → इन-मेमोरी रूट (uid 0 + पूर्ण कैप्स) |
| रूट प्रबंधन | ReSukiSU (KernelSU फोर्क) लेट-लोड मोड में kernelsu.ko लोड करता है; su एक इन-कर्नेल हुक (u:r:ksu:s0) द्वारा प्रदान किया जाता है |
| SELinux | सक्रियण के बाद Enforcing पर पुनर्स्थापित (ReSukiSU नीति नियम लागू रहते हैं) |
| वन-टैप UX | RootActivator APK जिसमें एम्बेडेड एक्सप्लॉइट + ksud; बूट के बाद एक टैप |
| ऑटो-रिकवरी (वैकल्पिक) | बूट-ट्रिगर स्व-उपचार श्रृंखला: अनुकूली लोड-गेटेड ट्रिगर → cheese → रूट पाइपलाइन → वैकल्पिक hosts/Vector। डिफ़ॉल्ट रूप से बंद (com.poc.roottool.CONFIG) |
| Xposed मॉड्यूल | NeoZygisk (ptrace zygote इंजेक्शन) + Vector के माध्यम से समर्थित |
| स्थायित्व | डिज़ाइन से कोई नहीं (इन-मेमोरी): प्रत्येक रीबूट के बाद पुनः सक्रिय करें (~3-4 मिनट; या ऑटो-रिकवरी श्रृंखला सक्षम करें) |
| RootActivator (सक्रिय) | ReSukiSU (कार्यशील, 2 मॉड्यूल) |
|---|---|
![]() | ![]() |
बाएँ: सफल सक्रियण के बाद RootActivator — SELinux Enforcing, kernelsu लोडेड, su उपलब्ध।
दाएँ: ReSukiSU मैनेजर — 2 मॉड्यूल (NeoZygisk + Vector) के साथ LKM मोड कार्यशील।
RootActivator APK
│
├─ libcheese.so ── KGSL SMMU exploit (CVE-2025-21479)
│ 1. Adreno 730 microcode access-check flaw (SDS packet mistaken for RingBuffer)
│ 2. Fake CP_SMMU_TABLE_UPDATE overwrites GPU TTBR0 → arbitrary physical R/W
│ 3. Zero selinux_state.enforcing; dump kernel from fixed PA 0xA8000000,
│ parse kallsyms from the raw image (SM8475 has no physical KASLR)
│ 4. Patch __do_sys_capset with an escalation shellcode
│ (prepare_kernel_cred(0) + commit_creds + clear TIF_SECCOMP);
│ forked child calls capset() → uid 0 + full caps
│
└─ libksud.so (ReSukiSU) ── late-load mode
1. kernelsu.ko loaded from ksud's embedded assets with manual relocation
(does not rely on kernel symbol exports)
2. install → /data/adb/ksu (ksud/busybox/bootctl)
3. su channel online: /system/bin/su → kernel hook redirect → u:r:ksu:s0
4. setenforce 1 — Enforcing restored, policy rules already injected by the ko
उल्लेखनीय इंजीनियरिंग बिंदु
insmod kernelsu.ko विफल हो जाता है। ReSukiSU का लेट-लोड स्वयं सिंबल्स को हल करता है और ठीक से लोड हो जाता है।सोर्स से बिल्ड करें (देखें Building) या GitHub Releases पेज से APK प्राप्त करें (रिपॉज़िटरी में संग्रहीत नहीं है)।
ReSukiSU Releases से डाउनलोड करें और मैनेजर APK इंस्टॉल करें।
su -c 'sh /data/adb/modules/zygisksu/post-fs-data.sh'
रिपॉज़िटरी में PoC (एक्सप्लॉइट) और उसका वन-टैप एक्टिवेटर शामिल है। कस्टम डिवाइस लेयर्स (डीब्लोट स्क्रिप्ट्स, प्राइवेसी-होस्ट्स मॉड्यूल, Xposed स्कोप टूलिंग, ब्रिंग-अप हेल्पर्स) को ट्री से बाहर एक अलग निजी आर्काइव में रखा गया है — वे जानबूझकर इस रिपॉज़िटरी का हिस्सा नहीं हैं। विवरण: docs/ARCHITECTURE.md।
├── LICENSE / CHANGELOG.md
├── README.md / README.zh-CN.md
│
├── exploit/ the PoC — root acquisition (CVE-2025-21479)
│ ├── source/ cheese.c / kallsyms_lookup.c / adrenaline.h
│ ├── device_info.txt Target device parameters (offsets, verified facts)
│ ├── build.sh Build script (requires Android NDK)
│ └── README.md Boundary statement, runtime chain, known failure modes
│
├── app/ RootActivator — one-tap activator (all extras OFF by default)
│ ├── src/ BootReceiver / HealGuardService / HealConfig / MainActivity (Kotlin)
│ ├── assets/ selfheal.sh / waiter.sh / xposed-up.sh
│ ├── native/ libcheese.so + libksud.so (built from exploit/; see tools/fetch_assets.py)
│ ├── AndroidManifest.xml
│ ├── debug.keystore debug signing key used by the public APK
│ ├── build.py Build script (kotlinc + d8 + aapt2 + apksigner)
│ └── README.md App documentation
│
├── tools/ Build / inspection helpers
│ ├── fetch_assets.py Host: prepare native assets (exploit + ksud)
│ ├── status_check.sh On-device: root / module snapshot
│ └── check_mods.sh On-device: module inspection helper
├── docs/ Documentation (English)
│ ├── ARCHITECTURE.md Chains, engineering notes, root-cause records
│ ├── TROUBLESHOOTING.md Failure handling, success-rate data
│ └── VECTOR.md Xposed (NeoZygisk + LSPosed/Vector) setup
└── screenshots/ On-device PNG evidence