
تطبيق أندرويد وحمولات (payloads) لكسر الحماية/الوصول الجذري (jailbreak/root) لجهازي iQOO Z9 5G وvivo T3 5G عبر ثغرة CVE-2026-43499. كلا الجهازين يستخدمان منصة MediaTek Dimensity 7200 (MT6886). إصدار النواة 5.15.178.
تطبيق أندرويد وحِزم (payloads) لكسر الحماية/الجذر (jailbreak/root) لجهازي iQOO Z9 5G وvivo T3 5G. يستخدم كلا الجهازين منصة MediaTek Dimensity 7200 (MT6886).
توجد طريقتان مدعومتان للتشغيل: تطبيق APK لنظام أندرويد مع Shizuku، أو المساعد الأصلي (native helper) الذي يعمل مباشرةً من adb shell. تستخدم كلتا الطريقتين نفس الحِزمة الخاصة بالجهاز وخفيّة KernelSU.
يستخدم هذا المنفذ (port) سلسلة استغلال نواة Ghostlock CVE-2026-43499 للحصول على صلاحيات جذر مؤقتة للإقلاع (bootstrap root)، ثم يقوم بالتحميل اللاحق (late-load) لخفيّة KernelSU المطابقة. وهو إصدار بحثي لكسر الحماية/الجذر خاص بجهازين محددين هما iQOO Z9 5G (الطراز I2302) وvivo T3 5G (الطراز V2334)، باستخدام النواة 5.15.178-android13-8-g0ebe6a5da65d. إنها ليست أداة تجذير عامة لنظام أندرويد ويجب استخدامها فقط على أجهزة تملكها أو مصرّح لك باختبارها.
يتم التعامل مع iQOO Z9 5G I2302 وvivo T3 5G V2334 كهدف واحد لهذا المنفذ. فمعالجهما (SoC) وسلوك البرنامج الثابت وإصدار النواة وواجهة ABI وحسابات الاستغلال (exploit offsets) واقتران KernelSU متطابقة؛ والفرق المتوقع في الهوية هو بصمة الإصدار (build fingerprint). لذلك يستخدمان نفس الحِزمة وملف الدعم. لا يزال التطبيق يتطلب إصدار النواة المحدد أعلاه تمامًا: 5.15.178-android13-8-g0ebe6a5da65d.
للحصول على إرشادات حول تكييف هذا المشروع لجهاز آخر، راجع دليل النقل إلى جهاز آخر.
استغرق إنجاز هذا المشروع الكثير من الجهد والمال. إذا كان مفيدًا لك، يمكنك دعم العمل بكوب قهوة:
شكرًا لـ Codex على المساعدة في التطوير.
app/ Android/Compose application source and UI resources
payload/ iQOO exploit source, target profile, build script, and release inputs
مسار التشغيل (runtime flow) هو:
I2302 أو V2334، وأن النواة قيد التشغيل هي 5.15.178-android13-8-g0ebe6a5da65d، وأن الجهاز بمعمارية arm64.payload/src/su_daemon.c كخدمة shell (UID 2000)، وهو سياق التنفيذ المطلوب لهذا المنفذ. يستدعي التطبيق المشرف --run-payload الخاص بالمساعد، وهو نفس أسلوب تسليم العملية الفرعية/الجلسة المستخدم في دليل adb المُتحقق منه، ويتابع سجل الاستغلال الدائم الخاص به.ksud الذي تم تنزيله، وينفذ التحميل اللاحق المحمي لـ KernelSU، ويتحقق من قناة التحكم.ملاحظة استرداد مهمة: إذا تعطل الهاتف أو لم يُقلع، اضغط مع الاستمرار على خفض مستوى الصوت + الطاقة معًا حتى يُعاد تشغيله قسريًا.
حمّل أحدث إصدار من APK من صفحة إصدارات GitHub.
حمّل APK مدير KernelSU الرسمي من صفحة إصدارات KernelSU.
يعمل أي تطبيق أندرويد عادي في نطاق SELinux untrusted_app. على هذا الجهاز، لا يمكن لهذا النطاق قراءة tracefs، لذلك فإن تشغيل المساعد مباشرة من APK يجعل الحِزمة تعود إلى المنبئ المادي (physical oracle) وتفشل عادةً عند بوابة الأنبوب (pipe gate). لذا فإن Shizuku مطلوب لتثبيت APK يعمل بشكل صحيح. يبدأ التطبيق المشرف --run-payload الخاص بالمساعد عبر خدمة shell في Shizuku (UID 2000)، مما يمنح مسار tracefs نفس سياق التنفيذ وتسليم العملية كما في تشغيل adb shell المُثبت.
لا تزال صفحة الإعدادات تعرض مفتاح بدون Shizuku لأغراض التشخيص والتطوير المستقبلي. وهو مُعلَّم صراحةً على أنه غير مدعوم؛ فإيقاف تشغيله يؤدي إلى توقف التثبيت قبل بدء الاستغلال.
أعد تشغيل الهاتف أولًا؛ يسمح هذا المنفذ بمحاولة استغلال واحدة لكل إقلاع. ابدأ تشغيل Shizuku، وتأكد من أن تطبيق كسر الحماية/الجذر لا يزال لديه الإذن وأن خيار Use Shizuku (required) مفعّل، ثم اضغط Install KernelSU. يجب أن يحتوي السجل المباشر على Shizuku permission granted قبل بدء الحِزمة. أبقِ الهاتف مستيقظًا وموصولًا بالطاقة أثناء تشغيل الاستغلال.
إذا تم إيقاف Shizuku أو سحب الإذن أو إعادة تشغيل الجهاز أثناء سير العملية، فأوقف كل شيء وأعد التشغيل قبل المحاولة مرة أخرى. لا تكرر محاولات الاستغلال على نفس الإقلاع. وضع Shizuku يغيّر فقط طريقة تشغيل المساعد؛ فهو لا يجعل هذه الحِزمة الخاصة بالجهاز قابلة للنقل إلى طراز أو نواة أخرى.
ملف APK اختياري. فـ adb shell يعمل أصلًا بمعرّف shell الخاص بأندرويد، لذا فهو يوفر وصول tracefs الذي يحصل عليه APK عبر Shizuku. هذا هو المسار الأصلي للتشخيص/دليل التشغيل ولا يتطلب Shizuku.
استخدم إقلاعًا جديدًا لكل محاولة. كاتب المكدس (stack writer) يعمل مرة واحدة فقط لكل إقلاع؛ لا تعِد تشغيل الاستغلال بعد ظهور stack writer ran; refusing retry on this boot.
من جذر المستودع، جهّز ملفات iQOO الثنائية المطابقة:
adb reboot
# Wait for Android to finish booting, then push the payload and helper.
adb push payload/build/cve-2026-43499-app.so \
/data/local/tmp/iqoo-app.so
adb push payload/build/cve-2026-43499-root \
/data/local/tmp/cve-2026-43499-root
adb push payload/artifacts/ksud-iqoo-z9-5g \
/data/local/tmp/ksud-iqoo-z9-5g
adb shell chmod 755 \
/data/local/tmp/cve-2026-43499-root \
/data/local/tmp/ksud-iqoo-z9-5g
adb shell rm -f /data/local/tmp/iqoo-app-run.log
ابدأ المشرف الخاص بالمساعد. أبقِ هذه النافذة الطرفية مفتوحة وانتظر حتى ينتهي؛ قد يستغرق التشغيل العادي عدة دقائق:
adb shell 'SLIDE_SOURCE=tracefs EXPLOIT_ATTEMPTS=1 \
P0_ATTEMPT_TIMEOUT_SEC=115 EXPLOIT_ATTEMPT_TIMEOUT_SEC=600 \
/data/local/tmp/cve-2026-43499-root --run-payload \
/data/local/tmp/iqoo-app.so /data/local/tmp/cve-2026-43499-root \
/data/local/tmp/iqoo-app-run.log'
لا تكتمل مرحلة الاستغلال إلا عندما يحتوي السجل على كلٍّ من exploit completed وroot=1. إذا نجح جذر الإقلاع (bootstrap root)، فقم بالتحميل اللاحق لخفيّة KernelSU المطابقة باستخدام عملية المساعد ذات الوسيط الواحد بالضبط:
adb shell '/data/local/tmp/cve-2026-43499-root --late-load'
لا تُلحق وسائط KMI أو وسائط المدير إلى --late-load؛ فمساعد هذا الهدف يحتوي بالفعل على KMI الخاص بـ iQOO ومسار المحمّل وخيارات KernelSU مدمجة. عند نجاح التحميل اللاحق، تظهر رسالة التحقق من التحكم في KernelSU.
المتطلبات: Android SDK 37 وNDK 28.2.13676358 وCMake 3.22.1.
عيّن مسار NDK مرة واحدة، ثم ابنِ ملفات الحِزمة المستقلة:
export ANDROID_NDK_HOME="/path/to/android-sdk/ndk/28.2.13676358"
make -C payload all
make apk-release
هدف الإصدار النهائي يعيد بناء ملفات الحِزمة المستقلة محليًا عند الحاجة؛ ولا يزال APK يقوم بتنزيل حِزم التشغيل الخاصة به من أحدث إصدار على GitHub.
تتم كتابة APK الموقّع في app/build/outputs/apk/release/app-release.apk.
يبقى كود مصدر النواة وملفات الوحدات (module objects) والملفات المساعدة للإقلاع (init companions) خارج هذا الاستنساخ النظيف (clean checkout).
هذا منفذ شديد الخصوصية بجهاز محدد. فحسابات الاستغلال ومنطق PAC/KASLR وهندسة المكدس وواجهة نواة ABI وبيانات الوحدات الوصفية وخفيّة KernelSU كلها مطابقة لجهازي iQOO Z9 5G (I2302) وvivo T3 5G (V2334) المختبرَين بالنواة المذكورة أعلاه. لا ينبغي توقع عمل الملفات الثنائية على طراز آخر أو برنامج ثابت آخر أو إصدار نواة آخر أو إصدار مختلف جوهريًا؛ فقد تتسبب في إجهاض أو تجميد أو انهيار (panic) لجهاز غير متوافق. أي جهاز مختلف يحتاج إلى ملف هدف خاص به ومراجعة مصدر وتحقق من العتاد.
يتم التحميل اللاحق لـ KernelSU مرة واحدة لكل إقلاع، وهو ليس تعديلًا دائمًا لصورة الإقلاع. اتبع دليل التشغيل في وثائق المنفذ الأصلية عند اختبار الجهاز، وأبقِ دائمًا إمكانية الوصول إلى وضع الاسترداد (recovery) متاحة.
استخدمه فقط على أجهزة تملكها أو مصرّح لك صراحةً باختبارها.
يدعم هذا المصدر حاليًا iQOO Z9 5G (I2302) وvivo T3 5G (V2334) مع عائلة النواة المذكورة. بالنسبة لجهاز آخر ضمن نفس عائلة النواة، استخدمه كنقطة انطلاق واستبدل القيم الخاصة بالجهاز بعد التحقق منها على ذلك الجهاز. أما بالنسبة لعائلة نواة مختلفة مثل 5.10 أو 6.x، فابحث أولًا عن مصدر عام مطابق أو منفذ استغلال أو مرجع على GitHub وقم بتكييف ملف الهدف مع تلك النواة.
ستحتاج إلى ملف boot.img المحدد للجهاز وشجرة مصدر النواة المطابقة. يمكن لوكلاء البرمجة بالذكاء الاصطناعي المساعدة في فحص هذه الملفات وتجهيز البناء وتحديث المنفذ. أنصح بـ Codex مع نموذج Luna. ابدأ بالبناء والاختبار عبر طريقة adb المباشرة، وليس APK. نفّذ بناء الوكيل، وشغّله على جهازك الخاص، ثم أعد المخرجات الكاملة وأي سجلات انهيار (panic logs) إلى الوكيل. كرر دورة البناء/الاختبار/السجل حتى ينجح النقل.