
CVE-2026-43499 का उपयोग करके अपने Galaxy को रूट करें
中文: README_ZH.md
यह एक अलग रिपॉज़िटरी है क्योंकि इस रूट के लिए Android shell
अनुमति की आवश्यकता होती है, जो adb shell या Shizuku के माध्यम से प्राप्त की जाती है। मूल
YuKongA/ghostlock-app shell अनुमति का उपयोग
नहीं करता है और एक अलग निष्पादन मार्ग का पालन करता है; इसकी आवश्यकताओं
और कोड पथ को इस परियोजना के साथ विनिमेय नहीं माना जाना चाहिए।
| डिवाइस | कर्नेल |
|---|---|
| Samsung Galaxy Z Fold6 (SM-F9560 / q6q) | 6.1.145-android14-11-3254009-abF9560ZCS4DZG3 |
स्टार्टअप पर कर्नेल को uname -r के माध्यम से ऑफ़सेट तालिका के विरुद्ध मिलाया जाता है; असमर्थित कर्नेल को तुरंत अस्वीकार कर दिया जाता है।
APK पथ के लिए, वायरलेस डिबगिंग के माध्यम से Shizuku प्रारंभ करें, GhostLock को अनुमति दें, और Run पर टैप करें। Shizuku पेलोड को Android shell उपयोगकर्ता के रूप में प्रारंभ करता है; APK स्वयं एक्सप्लॉइट निष्पादन संदर्भ नहीं है।
प्रत्यक्ष कमांड-लाइन पथ Shizuku की आवश्यकता के बिना उसी सत्यापित shell पेलोड को चलाता है:
make ghostlock helper
adb push ghostlock /data/local/tmp/ghostlock
adb push ghostlock-helper /data/local/tmp/ghostlock-helper
adb push app/src/main/assets/ksud-zfold6-F9560ZCS4DZG3-samsung-main-no-patch-text-kdp /data/local/tmp/ksud-zfold6-F9560ZCS4DZG3-samsung-main-no-patch-text-kdp
adb shell chmod 755 /data/local/tmp/ghostlock
adb shell chmod 755 /data/local/tmp/ghostlock-helper
adb shell chmod 755 /data/local/tmp/ksud-zfold6-F9560ZCS4DZG3-samsung-main-no-patch-text-kdp
adb shell /data/local/tmp/ghostlock
UMH root और KernelSU late-load चरणों के लिए helper आवश्यक है।
कुछ Samsung/Exynos 6.1 कर्नेल पर, एक सामान्य KernelSU मॉड्यूल ksud late-load के दौरान
EL2 panic ट्रिगर कर सकता है क्योंकि मॉड्यूल लाइव टेक्स्ट
पैचिंग का प्रयास करता है। प्रभावित लक्ष्यों के लिए, सटीक फर्मवेयर रिलीज़ के लिए एक मॉड्यूल बनाएं
और लक्ष्य ट्री का no-patch-text विकल्प सक्षम करें:
CONFIG_KSU_SAMSUNG_NO_PATCH_TEXT=y
लक्ष्य-विशिष्ट kernelsu.ko और ksud को जोड़ें, और डिवाइस के
पूर्ण uname -r से मिलान करें न कि केवल 6.1 KMI से। late-load के दौरान एक रीबूट
मॉड्यूल के इनिशियलाइज़ेशन से आ सकता है, जरूरी नहीं कि ksud
लोडर से। यह एक Samsung/Exynos-विशिष्ट सावधानी है; वर्तमान SM-F9560
लक्ष्य Snapdragon है और इसे अलग से मान्य किया जाना चाहिए। लक्ष्य-विशिष्ट बिल्ड उदाहरणों के लिए
Root-My-Galaxy-Payloads देखें।
Qualcomm डिवाइस पर, tools/extract_target.py boot.img और xbl_config.img से ऑफ़सेट पार्स करता है। Python 3 और एक kallsyms स्रोत (--kallsyms फ़ाइल या --kallsyms-finder) की आवश्यकता होती है। --llvm-objdump पास करने पर (या PATH/NDK पर llvm-objdump होने पर) यह pselect_waiter_shift और off_slide_loggers_0_1 को स्वतः प्राप्त करने के लिए कर्नेल को अतिरिक्त रूप से डिसअसेंबल करता है:
python tools/extract_target.py `
boot.img `
--xbl-config xbl_config.img `
--format c `
--out offsets.h
core_sys_select उपयोगकर्ता fd_set डेटा के केवल 3 x FDS_BYTES(nfds) को कर्नेल स्टैक पर कॉपी करता है (nfds=320 के लिए qwords 0..14)। futex waiter को उस नियंत्रणीय क्षेत्र के भीतर आना चाहिए: waiter प्रारंभ शब्द + 11 (lock फ़ील्ड) <= 14, अर्थात व्युत्पन्न शिफ्ट (qwords में fd_set से waiter ऑफ़सेट) <= 3 होना चाहिए, अन्यथा task/lock कर्नेल-शून्य टेल में गिर जाते हैं और रूट काम नहीं कर सकता। जब लेआउट अव्यवहार्य होता है तो स्क्रिप्ट एक स्पष्ट त्रुटि के साथ विफल हो जाती है।
पेलोड अनुसंधान और सहायक आर्टिफैक्ट्स के बारे में अधिक विवरण Root-My-Galaxy-Payloads में उपलब्ध हैं। Pull requests का स्वागत है।
निम्नलिखित परियोजनाओं पर आधारित, Apache License 2.0 के अंतर्गत लाइसेंस प्राप्त (देखें LICENSE):