
Roote dein Galaxy mit CVE-2026-43499
中文: README_ZH.md
Dies ist ein separates Repository, da dieser Weg Android-Shell-Berechtigung
erfordert, die über adb shell oder Shizuku erlangt wird. Das ursprüngliche
YuKongA/ghostlock-app verwendet
keine Shell-Berechtigung und folgt einem anderen Ausführungspfad; seine
Anforderungen und sein Codepfad sollten nicht als austauschbar mit diesem
Projekt angenommen werden.
| Gerät | Kernel |
|---|---|
| Samsung Galaxy Z Fold6 (SM-F9560 / q6q) | 6.1.145-android14-11-3254009-abF9560ZCS4DZG3 |
Beim Start wird der Kernel über uname -r mit der Offset-Tabelle abgeglichen; nicht unterstützte Kernel werden sofort abgelehnt.
Für den APK-Weg starten Sie Shizuku über drahtloses Debugging, erteilen Sie GhostLock die Berechtigung und tippen Sie auf Run. Shizuku startet die Payload als Android-Shell-Benutzer; die APK selbst ist nicht der Ausführungskontext des Exploits.
Der direkte Kommandozeilen-Weg führt dieselbe verifizierte Shell-Payload aus, ohne Shizuku zu erfordern:
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
Der Helper wird von den UMH-Root- und KernelSU-Late-Load-Stufen benötigt.
Auf einigen Samsung/Exynos 6.1-Kerneln kann ein generisches KernelSU-Modul
während ksud late-load eine EL2-Panic auslösen, weil das Modul versucht,
Live-Text-Patching durchzuführen. Für betroffene Ziele bauen Sie ein Modul für
die exakte Firmware-Version und aktivieren Sie die no-patch-text-Option des
Zielbaums:
CONFIG_KSU_SAMSUNG_NO_PATCH_TEXT=y
Kombinieren Sie das zielspezifische kernelsu.ko und ksud, und gleichen Sie
das vollständige uname -r des Geräts ab, nicht nur die 6.1-KMI. Ein Neustart
während des Late-Load kann von der Initialisierung des Moduls stammen, nicht
unbedingt vom ksud-Loader. Dies ist eine Samsung/Exynos-spezifische
Vorsichtsmaßnahme; das aktuelle SM-F9560-Ziel ist Snapdragon und muss separat
validiert werden. Siehe
Root-My-Galaxy-Payloads
für zielspezifische Build-Beispiele.
Auf Qualcomm-Geräten parst tools/extract_target.py Offsets aus boot.img und xbl_config.img. Erfordert Python 3 und eine kallsyms-Quelle (--kallsyms-Datei oder --kallsyms-finder). Die Übergabe von --llvm-objdump (oder das Vorhandensein von llvm-objdump in PATH/NDK) disassembliert zusätzlich den Kernel, um pselect_waiter_shift und off_slide_loggers_0_1 automatisch abzuleiten:
python tools/extract_target.py `
boot.img `
--xbl-config xbl_config.img `
--format c `
--out offsets.h
core_sys_select kopiert nur 3 x FDS_BYTES(nfds) an Benutzer-fd_set-Daten auf den Kernel-Stack (Qwords 0..14 für nfds=320). Der Futex-Waiter muss innerhalb dieser kontrollierbaren Zone landen: Waiter-Startwort + 11 (Lock-Feld) <= 14, d. h. der abgeleitete Shift (Waiter-Offset vom fd_set in Qwords) muss <= 3 sein, sonst fallen Task/Lock in den kernel-genullten Tail und die Route kann nicht funktionieren. Das Skript schlägt mit einem klaren Fehler fehl, wenn das Layout nicht machbar ist.
Weitere Details zur Payload-Forschung und unterstützenden Artefakten sind in Root-My-Galaxy-Payloads verfügbar. Pull Requests sind willkommen.
Basierend auf den folgenden Projekten, lizenziert unter Apache License 2.0 (siehe LICENSE):