
حزمة بحثية لاستغلال ثغرات نواة Android خاصة بـ CVE-2026-43499، تتضمن شيفرة استغلال popsicle، وحمولة su المضمّنة، ومساعد جسر root، ومخرجات بناء قابلة لإعادة الإنتاج.
تاريخ الإنشاء: 2026-08-08
تم في هذا الدليل تجميع شجرة الكود المصدري الكاملة لـ popsicle التي يمكن استعادتها من المشروع الحالي، وملفات الرأس الضرورية، وحمولة su المضمّنة، والثنائيات الإنتاجية، وسكربتات التشغيل.
يجب التمييز بين:
source-final-correspondence-20260808/
├─ source/
│ ├─ exploit/
│ │ ├─ popsicle/
│ │ │ ├─ main.c
│ │ │ ├─ util.c
│ │ │ ├─ slide.c
│ │ │ ├─ fops.c
│ │ │ ├─ pipe.c
│ │ │ ├─ preload.c
│ │ │ ├─ root_bridge_helper.c
│ │ │ ├─ su_blob.S
│ │ │ ├─ su_daemon.c
│ │ │ ├─ common.h / offset.h / target.h
│ │ │ ├─ kernelsnitch/
│ │ │ └─ build/embed/su_daemon_aarch64_pie
│ │ └─ ghostlock-oneplus/kernelsnitch/
│ └─ target-files/popsicle-target.h
├─ embed/su_daemon_aarch64_pie
├─ artifacts/production/
├─ runtime/
├─ review-build/
├─ rebuild-current-source.ps1
├─ source-files.sha256
├─ binary-function-size-diff.md
├─ binary-function-size-diff.csv
└─ manifest.json
الملف الإنتاجي:
artifacts/production/t807d-popsicle-r562-show-callback-canonical-20260804.so
SHA-256:
B6DED21F90096A2FA2567807F79E7E8CCFDF9802DAF4628277A333DD8FE7DB71
مدخلات الكود المصدري الرئيسية:
| الكائن الإنتاجي | الكود المصدري المقابل |
|---|---|
| التدفق الرئيسي لـ SO | source/exploit/popsicle/main.c |
| أدوات النواة ووضع المستخدم العامة | source/exploit/popsicle/util.c |
| slide وتحديد العناوين | source/exploit/popsicle/slide.c |
| fops ومسار تشغيل pselect | source/exploit/popsicle/fops.c |
| pipe و reclaim و direct write | source/exploit/popsicle/pipe.c |
| مدخل LD_PRELOAD وكتابة ملف su | source/exploit/popsicle/preload.c |
| رموز حدود su المضمّنة | source/exploit/popsicle/su_blob.S |
| التعريفات العامة | common.h و offset.h و target.h |
| إعدادات الهدف | source/target-files/popsicle-target.h |
| رؤوس KernelSnitch | source/exploit/popsicle/kernelsnitch/ و source/exploit/ghostlock-oneplus/kernelsnitch/ |
| محتوى الملف المضمّن | source/exploit/popsicle/build/embed/su_daemon_aarch64_pie |
الملف الإنتاجي:
artifacts/production/t807d-root-bridge-helper-r557-show-verify-callback-20260804
SHA-256:
F7FF4C293902993183F98A8D314FA2ECD012A72A36F287A361C4503844EAAB91
مدخلات الكود المصدري الرئيسية:
| الكائن الإنتاجي | الكود المصدري المقابل |
|---|---|
| منطق root bridge و marker و cred و SELinux و KSU المساعد | source/exploit/popsicle/root_bridge_helper.c |
| رموز حدود su المضمّنة | source/exploit/popsicle/su_blob.S |
| محتوى su | source/exploit/popsicle/build/embed/su_daemon_aarch64_pie |
| التعريفات العامة وإعدادات الهدف | نفس r562 |
تم استكمال اعتمادين نسبيين容易被 إغفالهما.
أولًا، مرجع target.h:
#include "../../target-files/popsicle-target.h"
لذلك يجب أن يبقى الكود المصدري على المسار:
source/exploit/popsicle/target.h
source/target-files/popsicle-target.h
ثانيًا، يواصل popsicle/kernelsnitch/utils.h و kernelsnitch.h الإشارة إلى:
../../ghostlock-oneplus/kernelsnitch/...
لذلك يجب أيضًا الاحتفاظ بـ source/exploit/ghostlock-oneplus/kernelsnitch/.
نسخ source/popsicle فقط سينتج لقطة غير مكتملة "تبدو كاملة لكنها في الواقع غير قابلة للتجميع". تم تنظيم حزمة الاستعادة هذه وفق تخطيط المسارات النسبية الأصلي.
سلسلة الأدوات:
NDK: D:Android
dk 29android-ndk-r29 API: 35 ABI: AArch64
التنفيذ:
powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File .
ebuild-current-source.ps1
نتيجة إعادة تجميع الكود المصدري الحالي:
| الملف | الحجم | SHA-256 |
|---|---|---|
| review-build/rebuild-current-source.so | 139600 | D5C8CF6D3A0A223F0BB3319FFAE926EF3EDF56DEF520B0A99CF7526B4437EC1A |
| review-build/rebuild-current-source-helper | 75008 | 025FD4BEB793227D9595D5739483798BBB8CDB94B69734399BE4C9F329032D8F |
هذا يثبت أن شجرة الكود المصدري قابلة للتجميع، لكنه لا يمكن أن يحل محل الثنائيات الإنتاجية المتحقق منها في artifacts/production.
أدلة الخط الزمني:
| الكائن | وقت الملف |
|---|---|
| ملف r557 helper الإنتاجي | 2026-08-04 22:47:29 |
| ملف r562 SO الإنتاجي | 2026-08-04 22:59:05 |
| main.c | 2026-08-04 22:22:16 |
| slide.c | 2026-08-04 21:54:58 |
| common.h | 2026-08-05 08:07:26 |
| pipe.c | 2026-08-05 08:07:34 |
| preload.c | 2026-08-05 08:07:30 |
| root_bridge_helper.c | 2026-08-05 08:10:10 |
| util.c | 2026-08-05 08:14:57 |
على الأقل، المحتوى الحالي لـ common.h و pipe.c و preload.c و root_bridge_helper.c و util.c تم حفظه أو تعديله بعد إنشاء الثنائيين الإنتاجيين.
كما لم يتم العثور في المشروع على:
لذلك، انطلاقًا من المواد المتاحة، ما يمكن تحقيقه هو استعادة كل الكود المصدري المتاح وتحديد الفروقات، وليس تحويل ملف ELF الإنتاجي عكسيًا إلى كود C مطابق بايتًا ببايت في ذلك الوقت.
يعرض binary-function-size-diff.md فروقات أحجام الدوال بين الملفات الإنتاجية وملفات إعادة تجميع الكود المصدري الحالي.
الفروقات الرئيسية في r562 SO:
الفروقات الرئيسية في r557 helper:
تتوافق هذه الفروقات مع اتجاه الإصلاحات المسجلة في مراجعة الكود المصدري Round592: نسخ مسار متغيرات البيئة، فرق عنوان رمز linker المستقل، معالجة فشل التخصيص، تنظيف reclaim، إلخ.
بصمات الكود المصدري الكاملة في source-files.sha256. بصمات المخرجات الإنتاجية والسكربتات والملفات المضمّنة ونتائج بناء المراجعة في manifest.json.
مدخل الاختبار هذه المرة:
run_t807_jailbreak.cmd
ما يقابله في PowerShell:
run_t807_jailbreak.ps1
وهو يشير بشكل ثابت إلى:
test-payload-current-source/
حيث إن SO و helper هما المخرجان اللذان أُعيد تجميعهما للتو من source/، وليسا ملفي التراجع r562/r557 في production/. يقوم السكربت بتعيين ForceCurrentSourceTest=true، لذلك حتى إذا كان الجهاز سابقًا في حالة KernelSU root، فسيستمر في دفع واختبار المخرجات الجديدة هذه المرة.
المخرجات الكاملة الثلاثة لهذه التجميعة: