
قم بعمل روت لهاتف Galaxy الخاص بك باستخدام CVE-2026-43499
中文: README_ZH.md
هذا مستودع منفصل لأن هذا المسار يتطلب صلاحية shell على Android،
تُحصل عليها عبر 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 بتشغيل الحمولة بصفة مستخدم shell على Android؛ تطبيق APK نفسه ليس سياق تنفيذ الاستغلال.
يشغّل مسار سطر الأوامر المباشر نفس حمولة shell المُتحقق منها دون الحاجة إلى Shizuku:
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
الـ helper مطلوب من قبل مراحل UMH root و KernelSU late-load.
على بعض نوى Samsung/Exynos 6.1، قد تتسبب وحدة KernelSU العامة في حدوث
EL2 panic أثناء ksud late-load لأن الوحدة تحاول إجراء live text
patching. بالنسبة للأهداف المتأثرة، ابنِ وحدة لإصدار البرنامج الثابت
بالضبط وفعّل خيار no-patch-text الخاص بشجرة الهدف:
CONFIG_KSU_SAMSUNG_NO_PATCH_TEXT=y
اقرن kernelsu.ko و ksud الخاصين بالهدف، وطابق uname -r الكامل
للجهاز بدلًا من KMI 6.1 فقط. قد تحدث إعادة تشغيل أثناء 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 (أو وجود llvm-objdump في PATH/NDK) يقوم إضافةً إلى ذلك بتفكيك النواة لاشتقاق 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 فقط 3 × FDS_BYTES(nfds) من بيانات fd_set الخاصة بالمستخدم إلى مكدس النواة (qwords 0..14 لـ nfds=320). يجب أن يستقر futex waiter داخل تلك المنطقة القابلة للتحكم: كلمة بداية waiter + 11 (حقل lock) <= 14، أي أن الإزاحة المشتقة (إزاحة waiter من fd_set بوحدات qwords) يجب أن تكون <= 3، وإلا فإن task/lock تسقط في الذيل المصفّر من النواة ولا يمكن للمسار أن يعمل. يفشل السكربت بخطأ واضح عندما يكون التخطيط غير قابل للتنفيذ.
تتوفر مزيد من التفاصيل حول أبحاث الحمولة والقطع الأثرية الداعمة في Root-My-Galaxy-Payloads. طلبات السحب مرحّب بها.
استنادًا إلى المشاريع التالية، المرخّصة بموجب Apache License 2.0 (راجع LICENSE):