
GhostLock (CVE-2026-43499) port d'exploit kernel pour le firmware Taiwan du REDMI K90 Pro Max (myron, WPMTWXM) — offsets, guide de compilation, binaire précompilé
Portage de l'exploit du noyau GhostLock (CVE-2026-43499) pour le firmware mondial/taïwanais du
POCO F8 Ultra / REDMI K90 Pro Max (nom de code myron, Snapdragon 8 Elite Gen 5 / SM8850).
Cible : HyperOS OS3.0.6.0.WPMTWXM — noyau
6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k
Résumé en anglais ci-dessous.
Pour le même téléphone, le même codename, le noyau de la version internationale/taïwanaise (WPMTWXM, c'est-à-dire le POCO F8 Ultra) et celui de la version continentale (WPMCNXM) ne sont pas le même binaire :
| ROM | version du noyau | Date de compilation |
|---|---|---|
| TW 3.0.1.0.WPMTWXM | ...-ga5f232d1ead0-ab14083253-4k | 2025-09-11 |
| TW 3.0.6.0.WPMTWXM | ...-g5a0e85dd9db0-ab14499855-4k | 2025-11-26 |
| CN 3.0.306/308.WPMCNXM | ...-g16e473de48a3-abogki462654244-4k | 2025-11-19 |
abogki*), tandis que la version TW est la branche d'intégration propre à Xiaomi+pgo +bolt +lto —
n'importe quelle différence de code bouleverse complètement la disposition des symbolesinit_task/init_cred diffèrent de 0x10000, selinux_state de 0x120c8 (décalage non fixe)Un exploit data-only comme GhostLock nécessite les adresses exactes de cette compilation précise, donc tous les payloads calculés pour la version CN sont invalides sur la version internationale. Ce repo fournit précisément la table d'offsets qui manquait à la version internationale.
offsets/myron_tw/offsets.h — la cible complète pour la TW 3.0.6.0 (pour
JoinChang/ghostlock-oneplus)scripts/device_step1.sh — sauvegarde de l'ABL après root + script de flashage de l'EFI de déverrouillageghostlock précompilés (arm64) sont disponibles dans les Releases_text comme référence —
init_task.comm="swapper", init_cred.usage=4, init_uts_ns.release correspondent caractère par caractère à uname.
Des offsets fiables sont obtenus sans root sur l'appareil.task_struct 5184 octets,
cred@0x900, pi_blocked_on@0xA18, etc., cohérent avec STRUCT_OFFSETS_6_12 en amont.futex_wait_requeue_pi (frame 0x1c0, waiter@sp+0x80) et
core_sys_select (frame 0x1b0, stack_fds@sp+0x18) sont identiques au Xiaomi 17 (pudding)
déjà validé → PSELECT_SHIFT=0.selinux_state.enforcing est en +0, en +2 ; une écriture d'un seul octet n'endommagera pas 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=-1Après le root, les appareils de la version internationale peuvent être déverrouillés via la méthode de remplacement de l'ABL (sans quota officiel) : sauvegarde d'abl_a/b →
flashage de l'EFI de déverrouillage → flashage fastboot de l'ABL d'usine + spoof → restauration. L'ABL d'usine se récupère depuis le abl.img de votre propre
ROM TW 3.0.1.0 (ce repo n'héberge pas de fichiers de firmware propriétaires de Xiaomi).
scripts/device_step1.sh est la partie côté appareil de ce processus. Ce processus n'efface pas les données utilisateur.
Le firmware mondial du POCO F8 Ultra (REDMI K90 Pro Max) embarque un build de noyau différent
de celui du firmware CN (branche, config et disposition PGO/BOLT différentes), si bien que tous
les offsets GhostLock publiés par la communauté — calculés sur les noyaux CN ogki — manquent leur cible sur
les appareils de la version mondiale. Ce repo fournit les offsets cibles manquants pour
OS3.0.6.0.WPMTWXM (6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k),
extraits statiquement du package OTA officiel et validés par recoupement
(kallsyms + BTF + lectures dans l'image), ainsi qu'un binaire précompilé dans Releases.
Les dispositions des structs sont identiques au build CN ; seules les adresses des symboles diffèrent.
La disposition des frames de pile correspond au Xiaomi 17 (pudding) validé.
À utiliser uniquement sur votre propre appareil. La vulnérabilité est publique (divulgation imposée par kernelCTF) ; ce port existe pour que les propriétaires de la variante mondiale puissent rooter leurs propres téléphones.
Réservé à la recherche de sécurité autorisée sur vos propres appareils. Aucun résultat n'est garanti ; utilisation à vos propres risques.
policycap