
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-abF9560ZCS4DZI1 |
| Samsung Galaxy Z Fold6 (SM-F9560 / q6q) | 6.1.145-android14-11-3254009-abF9560ZCS4DZH5 |
| 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 /data/local/tmp/ksud
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
adb shell /data/local/tmp/ghostlock
The helper को UMH root और KernelSU late-load stages द्वारा आवश्यक है।
कुछ Samsung/Exynos 6.1 kernels पर, एक generic KernelSU module ksud late-load के दौरान EL2 panic को trigger कर सकता है क्योंकि module live text patching का प्रयास करता है। प्रभावित targets के लिए, exact firmware release के लिए एक module build करें और target tree का no-patch-text option enable करें:
CONFIG_KSU_SAMSUNG_NO_PATCH_TEXT=y
लक्ष्य-विशिष्ट kernelsu.ko और ksud को जोड़ें, और केवल 6.1 KMI के बजाय डिवाइस के पूर्ण uname -r से मिलान करें। लेट-लोड के दौरान रीबूट मॉड्यूल के इनिशियलाइज़ेशन से आ सकता है, ज़रूरी नहीं कि यह ksud लोडर से हो। यह Samsung/Exynos-विशिष्ट एहतियात है; वर्तमान SM-F9560 लक्ष्य Snapdragon है और इसे अलग से मान्य किया जाना चाहिए। लक्ष्य-विशिष्ट बिल्ड उदाहरणों के लिए Root-My-Galaxy-Payloads देखें।
Qualcomm डिवाइसों पर, tools/extract_target.py boot.img और xbl_config.img से offsets पार्स करता है। इसके लिए Python 3 और एक kallsyms स्रोत (--kallsyms फ़ाइल या --kallsyms-finder) आवश्यक है। --llvm-objdump पास करने पर (या PATH/NDK में llvm-objdump होने पर) यह अतिरिक्त रूप से kernel को disassemble करके 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, अर्थात fd_set से waiter का व्युत्पन्न शिफ्ट (qwords में) <= 3 होना चाहिए, अन्यथा task/lock कर्नेल-शून्य टेल में चले जाते हैं और यह रूट काम नहीं कर सकता। जब लेआउट अव्यवहार्य होता है तो स्क्रिप्ट एक स्पष्ट त्रुटि के साथ विफल हो जाती है।
पेलोड शोध और सहायक आर्टिफैक्ट्स के बारे में अधिक विवरण Root-My-Galaxy-Payloads में उपलब्ध हैं। पुल रिक्वेस्ट का स्वागत है।
निम्नलिखित परियोजनाओं पर आधारित, Apache License 2.0 के अंतर्गत लाइसेंस प्राप्त (देखें LICENSE):