
Получите root на Galaxy с помощью CVE-2026-43499
中文: README_ZH.md
Это отдельный репозиторий, поскольку данный маршрут требует разрешения
Android shell, получаемого через adb shell или Shizuku. Оригинальный
YuKongA/ghostlock-app не использует
разрешение shell и следует другому маршруту выполнения; его требования
и путь кода не следует считать взаимозаменяемыми с этим проектом.
| Устройство | Ядро |
|---|---|
| Samsung Galaxy Z Fold6 (SM-F9560 / q6q) | 6.1.145-android14-11-3254009-abF9560ZCS4DZG3 |
При запуске ядро сопоставляется с таблицей смещений через uname -r; неподдерживаемые ядра отклоняются немедленно.
Для пути через APK запустите Shizuku через беспроводную отладку, предоставьте GhostLock разрешение и нажмите Run. Shizuku запускает полезную нагрузку от имени пользователя Android shell; сам APK не является контекстом выполнения эксплойта.
Прямой путь через командную строку запускает ту же проверенную shell-полезную нагрузку без необходимости в Shizuku:
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
Helper требуется для этапов UMH root и поздней загрузки KernelSU.
На некоторых ядрах Samsung/Exynos 6.1 универсальный модуль KernelSU может вызвать
панику EL2 во время ksud late-load, поскольку модуль пытается выполнить
живое патчирование текста. Для затронутых целей собирайте модуль для точной
версии прошивки и включайте опцию no-patch-text целевого дерева:
CONFIG_KSU_SAMSUNG_NO_PATCH_TEXT=y
Используйте согласованные kernelsu.ko и ksud для конкретной цели и
сопоставляйте полный uname -r устройства, а не только KMI 6.1. Перезагрузка
во время поздней загрузки может происходить из-за инициализации модуля, а не
обязательно из-за загрузчика ksud. Это мера предосторожности, специфичная для
Samsung/Exynos; текущая цель SM-F9560 — Snapdragon, и её необходимо проверять
отдельно. См.
Root-My-Galaxy-Payloads
для примеров сборки под конкретные цели.
На устройствах Qualcomm tools/extract_target.py извлекает смещения из boot.img и xbl_config.img. Требуется Python 3 и источник kallsyms (файл --kallsyms или --kallsyms-finder). Передача --llvm-objdump (или наличие llvm-objdump в PATH/NDK) дополнительно дизассемблирует ядро для автоматического вывода pselect_waiter_shift и off_slide_loggers_0_1:
python tools/extract_target.py `
boot.img `
--xbl-config xbl_config.img `
--format c `
--out offsets.h
core_sys_select копирует только 3 x FDS_BYTES(nfds) пользовательских данных fd_set в стек ядра (qwords 0..14 для nfds=320). Ожидающий futex должен попасть в эту контролируемую зону: начальное слово ожидающего + 11 (поле блокировки) <= 14, т.е. выведенное смещение (смещение ожидающего от fd_set в qwords) должно быть <= 3, иначе task/lock попадут в обнулённый ядром хвост, и маршрут не сможет работать. Скрипт завершается с понятной ошибкой, когда компоновка неосуществима.
Более подробная информация об исследовании полезной нагрузки и вспомогательных артефактах доступна в Root-My-Galaxy-Payloads. Pull requests приветствуются.
На основе следующих проектов, лицензированных под Apache License 2.0 (см. LICENSE):