
vivo iQOO Neo9S Pro (MT6989) के लिए वन-क्लिक रूट किट, जो MCAST ट्रांसपोर्ट के माध्यम से CVE-2026-43499 futex PI UAF का उपयोग करता है, साथ में स्क्रिप्ट और विश्लेषण दस्तावेज़।
vivo iQOO Neo9S Pro (V2339FA, MediaTek MT6989) के लिए GhostLock वन-क्लिक रूट किट। इस रिपॉज़िटरी में शामिल हैं: MCAST transport पोर्ट पैच, वन-क्लिक स्क्रिप्ट, पूर्ण विश्लेषण दस्तावेज़; पूर्ण रन-योग्य किट (बाइनरी और KernelSU सहित) के लिए Releases देखें।
Device: vivo iQOO Neo9S Pro (V2339FA / PD2339, MT6989) Firmware: PD2339_A_16.2.12.1.W10.V000L1 (Android 16) Kernel: 6.1.145-android14-11-maybe-dirty Vulnerability: CVE-2026-43499 (futex PI requeue UAF) केवल डिवाइस स्वामियों / सुरक्षा शोध हेतु। अपने ही डिवाइस पर उपयोग करें।
setsockopt(SOL_IP, MCAST_JOIN_SOURCE_GROUP, buf, 0x108) के 0x108 बाइट स्टैक कॉपी को पॉइज़निंग प्रिमिटिव के रूप में खोजा और अपनाया, जो stale rt_mutex_waiter को पूरी तरह कवर करता है, और पूरी चेन (W1→W2→W3→KernelSU) को जोड़ता है।ghostlock-kit-20260913.zip डाउनलोड करें और अनज़िप करें।cd <解压目录>\ghostlock-kit
powershell -ExecutionPolicy Bypass -File .\scripts\run-at-lockscreen.ps1 -Reboot
[+] Root 成功! दिखने पर पूर्ण (चलने के दौरान फ़ोन अनलॉक न करें)। सत्यापन:adb shell su -c id
# uid=0(root) gid=0(root) groups=0(root) context=u:r:ksu:s0
विफलता पर कर्नेल panic ट्रिगर होकर स्वतः रीबूट हो जाता है, स्क्रिप्ट स्वतः प्रतीक्षा करके पुनः प्रयास करती है (सफलता दर लगभग 25–30%/प्रयास; लॉकस्क्रीन समय पर लगभग एक ही बार में सफल)। root अस्थायी है (KernelSU late-load), फ़ोन रीबूट के बाद स्क्रिप्ट दोबारा चलानी होगी।
.
├── scripts/
│ ├── run-at-lockscreen.ps1 # वन-क्लिक: रीबूट→लॉकस्क्रीन प्रतीक्षा→पुश सत्यापन→चलाएँ→स्वतः पुनः प्रयास (अनुशंसित)
│ └── retry-if-needed.ps1 # सामान्य पुनः प्रयास (रीबूट अनिवार्य नहीं)
├── src/
│ └── ghostlock-mcast.patch # स्रोत परिवर्तन (बेसलाइन ghostlock-app @ 50d2b72)
├── docs/ # विश्लेषण दस्तावेज़ (एक्सप्लॉइट रिपोर्ट/transport विश्लेषण/waiter और PI walk/डिवाइस मैनुअल/समस्या निवारण रिकॉर्ड)
└── LICENSE # Apache-2.0 (अपस्ट्रीम से विरासत)
बाइनरी और पूर्ण किट (files/ghostlock, files/ksud, files/offsets.json, KernelSU APK) git रिपॉज़िटरी में नहीं रखे गए हैं,
कृपया Releases से ghostlock-kit-20260913.zip डाउनलोड करें।
| एसेट | विवरण | SHA-256 |
|---|---|---|
ghostlock-kit-20260913.zip | पूर्ण किट (स्क्रिप्ट+बाइनरी+APK+दस्तावेज़) | df547f6b2852a0d86582958e049ef5a44599a5a91ce0dace2162fb7d0fcab11d |
किट के भीतर मुख्य फ़ाइलें (MD5):
| फ़ाइल | MD5 |
|---|---|
files/ghostlock (एक्सप्लॉइट प्रोग्राम) | e581609ed114d33efa3b8a1958f85637 |
files/ksud (आधिकारिक KernelSU v3.3.0 यूज़रस्पेस) |
FUTEX_WAIT_REQUEUE_PI से लौटने के बाद, task->pi_blocked_on अभी भी उसके स्टैक पर स्थित rt_mutex_waiter की ओर लटका रहता है।setsockopt(SOL_IP, MCAST_JOIN_SOURCE_GROUP, buf, 0x108) से do_ip_setsockopt निष्पादित होता है
memset(0x108) + copy_from_user(0x108), कॉपी रेंज [S'−0x338, S'−0x230) उस waiter को पूरी तरह कवर करती है (waiter बफ़र ऑफ़सेट 0x60 पर स्थित);
buf[8]=0 सेट करने पर फ़ैमिली सत्यापन विफल होता है, syscall कॉपी के बाद साफ़ लौटता है।sched_setattr → rt_mutex_adjust_prio_chain नकली waiter पढ़ता है → rb_erase left-only relink
राइट प्रिमिटिव बनाता है।विस्तृत जानकारी docs/ में (साक्ष्य श्रृंखला, डिसअसेंबली विश्लेषण और क्रैश स्थल सहित)।
# बेसलाइन: ghostlock-app @ 50d2b72 (PR#127 सहित)
git clone https://github.com/YuKongA/ghostlock-app.git
cd ghostlock-app && git checkout 50d2b72
git apply /path/to/src/ghostlock-mcast.patch
make NDK_ROOT=<your-ndk> ghostlock
पैच सामग्री: MCAST transport (do_mcast_fake_lock_route), रूट चयन, observe/प्री-बिल्ड लॉजिक,
GHOSTLOCK_WALK_LOG (consumer पक्ष walk लोकेट), root स्क्रिप्ट pstore बैकअप, GHOSTLOCK_SKIP_VR।
ksud और APK आधिकारिक v3.3.0 रिलीज़ से हैं, कॉपीराइट उनके लेखकों के पास हैकेवल डिवाइस स्वामियों द्वारा अपने स्वयं के डिवाइस पर स्थानीय सुरक्षा शोध और स्वयं उपयोग हेतु root के लिए। किसी भी अनधिकृत डिवाइस या अवैध उद्देश्य के लिए उपयोग न करें। इस टूल के उपयोग से डिवाइस अस्थिरता या डेटा जोखिम हो सकता है, कृपया स्वयं बैकअप लें और परिणामों की ज़िम्मेदारी लें।
de059ed8ffd896129a0a4bbe338c946a |
files/offsets.json (इस मॉडल के ऑफ़सेट) | a2498197161b01bdcc5dffc0614fbfbd |
*(target) := valuecred = init_cred → W3 seccomp साफ़ (shell फ़्लो में छोड़ा गया) → root स्क्रिप्ट late-load KernelSU।| प्रश्न | समाधान |
|---|
| विफलता के बाद फ़ोन रीबूट | सामान्य (संभाव्य घटना); रीबूट के बाद अनलॉक न करें, सीधे स्क्रिप्ट दोबारा चलाएँ |
| मैनेजर "इंस्टॉल नहीं/काम नहीं कर रहा" दिखाता है | पहले पुष्टि करें कि su -c id काम करता है; मैनेजर खोलकर रीफ़्रेश करें, न स्वाइप करें/फ़ोर्स स्टॉप करें |
| रीबूट के बाद root गायब | सामान्य (late-load स्थायी नहीं); स्क्रिप्ट दोबारा चलाएँ |
| ReSukiSU उपयोग करना चाहते हैं | इस डिवाइस पर उपलब्ध नहीं (मैनेजर खोलते ही हैंग/रीबूट), यदि आवश्यक हो तो मेल खाता संस्करण अलग से कॉन्फ़िगर करें |
| सिस्टम अपडेट के बाद | offsets.json अमान्य हो सकता है, पुनः जनरेट/आयात करना होगा |