
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-abF9560ZCS4DZI1 |
| Samsung Galaxy Z Fold6 (SM-F9560 / q6q) | 6.1.145-android14-11-3254009-abF9560ZCS4DZH5 |
| 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-Pfad 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-Pfad führt dieselbe verifizierte Shell-Payload aus, ohne dass Shizuku erforderlich ist:
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 /data/local/tmp/ksud
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
adb shell /data/local/tmp/ghostlock
Der Helper wird von der UMH-Root- und KernelSU-Late-Load-Phase benötigt.
Bei einigen Samsung/Exynos 6.1-Kerneln kann ein generisches KernelSU-Modul während ksud late-load eine EL2-Panic auslösen, weil das Modul Live-Text-Patching versucht. Für betroffene Ziele sollte ein Modul für die exakte Firmware-Version gebaut und die no-patch-text-Option des Zielbaums aktiviert werden:
CONFIG_KSU_SAMSUNG_NO_PATCH_TEXT=y
Verbinde das zielspezifische kernelsu.ko und ksud und stimme 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, andernfalls fallen Task/Lock in den vom 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ützende Artefakte sind verfügbar in Root-My-Galaxy-Payloads. Pull Requests sind willkommen.
Basierend auf den folgenden Projekten, lizenziert unter Apache License 2.0 (siehe LICENSE):