
GhostLock (CVE-2026-43499) منفذ استغلال النواة لبرنامج REDMI K90 Pro Max الثابت لتايوان (myron, WPMTWXM) — الإزاحات، دليل البناء، ثنائي مُجمّع مسبقًا
نقل استغلال نواة GhostLock (CVE-2026-43499) إلى البرنامج الثابت العالمي/التايواني لجهاز
POCO F8 Ultra / REDMI K90 Pro Max (الاسم الرمزي myron، Snapdragon 8 Elite Gen 5 / SM8850).
الهدف: HyperOS OS3.0.6.0.WPMTWXM — النواة
6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k
English summary below / يوجد ملخص بالإنجليزية أدناه.
الجهاز نفسه، الاسم الرمزي نفسه، لكن نواة النسخة العالمية/التايوانية (WPMTWXM، أي POCO F8 Ultra) والنسخة الصينية (WPMCNXM) ليستا نفس الملف الثنائي:
| ROM | إصدار النواة | وقت الترجمة |
|---|---|---|
| النسخة التايوانية 3.0.1.0.WPMTWXM | ...-ga5f232d1ead0-ab14083253-4k | 2025-09-11 |
| النسخة التايوانية 3.0.6.0.WPMTWXM | ...-g5a0e85dd9db0-ab14499855-4k | 2025-11-26 |
| النسخة الصينية 3.0.306/308.WPMCNXM | ...-g16e473de48a3-abogki462654244-4k | 2025-11-19 |
abogki*)، أما نسخة تايوان فهي فرع دمج خاص بشاومي+pgo +bolt +lto——
أي اختلاف في الشيفرة سيعبث بترتيب الرموز بالكاملinit_task/init_cred يختلفان بـ 0x10000، وselinux_state يختلف بـ 0x120c8 (إزاحة غير ثابتة)تتطلب ثغرات من نوع data-only مثل GhostLock عناوين دقيقة خاصة بذلك البناء، لذلك جميع الحمولات المحسوبة للنسخة الصينية غير صالحة على النسخ الدولية. هذا المستودع يكمّل جدول الإزاحات المفقود في النسخ الدولية.
offsets/myron_tw/offsets.h — الهدف الكامل للنسخة التايوانية 3.0.6.0 (لاستخدامه مع
JoinChang/ghostlock-oneplus)scripts/device_step1.sh — سكربت نسخ احتياطي لـ ABL بعد الروت + تفليش unlock EFIghostlock الثنائي المُجمَّع (arm64)_text كأساس —
init_task.comm="swapper"، init_cred.usage=4، init_uts_ns.release مطابق حرفيًا لـ uname.
لا حاجة لروت على جهاز حقيقي للحصول على إزاحات موثوقة.task_struct 5184 بايت،
cred@0x900، pi_blocked_on@0xA18 وغيرها، متوافقة مع STRUCT_OFFSETS_6_12 في المنبع.futex_wait_requeue_pi (إطار 0x1c0، waiter@sp+0x80) و
core_sys_select (إطار 0x1b0، stack_fds@sp+0x18) مطابقة تمامًا لـ Xiaomi 17 (pudding) المُثبت نجاحها
→ PSELECT_SHIFT=0.selinux_state.enforcing عند +0، وpolicycap عند +2، والكتابة بايت واحد لا تُفسد policycap.git clone https://github.com/JoinChang/ghostlock-oneplus.git
cd ghostlock-oneplus
cp /path/to/this-repo/offsets/myron_tw/offsets.h src/devices/myron_tw/offsets.h
# 在 src/devices/offsets.h 的 #include 清單加一行:
# #include "myron_tw/offsets.h"
make NDK_CC=<你的 NDK>/toolchains/llvm/prebuilt/*/bin/aarch64-linux-android35-clang
adb shell uname -r
# 必須是 6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k,否則程式會拒絕執行
adb push ghostlock /data/local/tmp/e
adb shell chmod 755 /data/local/tmp/e
adb shell /data/local/tmp/e
PSELECT_SHIFT=-1يمكن لأجهزة النسخة الدولية بعد الروت أن تتبع طريقة استبدال ABL للفتح (دون الحاجة إلى حصة رسمية): نسخ احتياطي abl_a/b ←
وميض unlock EFI ← وميض ABL المصنعي عبر fastboot + spoof ← استعادة. يُؤخذ ABL المصنعي من abl.img الموجود في ROM النسخة التايوانية 3.0.1.0 التي بحوزتك (هذا المستودع لا يضم ملفات برامج ثابتة مملوكة لشاومي).
scripts/device_step1.sh هو الجزء الخاص بالهاتف من هذا الإجراء. هذا الإجراء لا يمسح بيانات المستخدم.
هذا المستودع يغطي WPMTWXM فقط. تقوم شاومي بترجمة النواة بشكل منفصل لكل فرع إقليمي، ولا يمكن مشاركة الإزاحات —
لكن الطريقة يمكن. في tools/ توجد الأدوات الثلاث التي نستخدمها فعليًا لإنشاء هدف النسخة التايوانية:
# 1. 從你的 OTA 包解出 boot.img(payload.bin 用 payload-dumper),然後:
python3 tools/extract_offsets.py boot.img # 產生 OFFSETS_ENTRY + 交叉驗證
python3 tools/check_btf.py boot.img # 驗證 struct 布局(決定 STRUCT_OFFSETS 能否沿用)
python3 tools/check_feasibility.py boot.img # 驗證 pselect 棧配置(決定 SHIFT)
extract_offsets.py: استخراج kallsyms، حساب جميع الإزاحات، وإعادة قراءة init_task.comm /
init_cred.usage / init_uts_ns.release للتحقق المتقاطع — لا تستخدمه إن لم ينجحcheck_btf.py: قراءة إزاحات حقول task_struct/cred/selinux_state
من BTF المضمّن في النواة، ومقارنتها بندًا بندًا مع STRUCT_OFFSETS_6_12check_feasibility.py: تفكيك تخصيص الإطار في futex_wait_requeue_pi وcore_sys_select
ومقارنته بنواة معروفة بأنها قابلة للتطبيق (يتطلب pip install capstone)الثلاثة نجحت جميعًا، ونسختك على الأرجح قابلة للاستخدام. نرحب بإرسال target الخاص بإصدار المنطقة الجديد عبر PR لإضافته.
تأتي البرمجية الثابتة العالمية لجهاز POCO F8 Ultra (REDMI K90 Pro Max) ببناء نواة مختلف
عن البرمجية الثابتة الصينية (فرع وإعدادات وتخطيط PGO/BOLT مختلف)، لذا فإن جميع
إزاحات GhostLock المنشورة من المجتمع — المحسوبة على نوى ogki الصينية — تفشل على
الأجهزة العالمية. يوفّر هذا المستودع إزاحات الأهداف المفقودة لـ
OS3.0.6.0.WPMTWXM (6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k)،
مستخرجة بشكل ساكن من حزمة OTA الرسمية ومُتحقَّق منها متقاطعًا
(kallsyms + BTF + قراءات داخل الصورة)، إضافة إلى ملف ثنائي مبني مسبقًا في Releases.
تخطيطات البنى مطابقة لبناء CN؛ تختلف عناوين الرموز فقط.
تخطيط إطار المكدس مطابق لجهاز Xiaomi 17 (pudding) المُتحقَّق من عمله.
استخدمه فقط على جهازك الخاص. الثغرة علنية (إفصاح إلزامي من kernelCTF)؛ هذا النقل موجود كي يتمكن مالكو النسخة العالمية من عمل روت لهواتفهم الخاصة.
僅供自有裝置的授權安全研究。للبحث الأمني المصرّح به على أجهزتك الخاصة فقط. لا نضمن أي نتائج، والاستخدام على مسؤوليتك الخاصة.