
Faça root no seu Galaxy usando CVE-2026-43499
中文: README_ZH.md
Este é um repositório separado porque esta rota requer permissão de shell do Android,
obtida através de adb shell ou Shizuku. O original
YuKongA/ghostlock-app não usa
permissão de shell e segue uma rota de execução diferente; seus requisitos
e caminho de código não devem ser assumidos como intercambiáveis com este projeto.
| Dispositivo | 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 |
Na inicialização, o kernel é comparado com a tabela de offsets via uname -r; kernels não suportados são rejeitados imediatamente.
Para o caminho do APK, inicie o Shizuku através da depuração sem fio, conceda permissão ao GhostLock e toque em Run. O Shizuku inicia o payload como o usuário shell do Android; o APK em si não é o contexto de execução do exploit.
O caminho direto por linha de comando executa o mesmo payload de shell verificado sem exigir o 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 /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
O helper é exigido pelo root do UMH e pelos estágios de late-load do KernelSU.
Em alguns kernels Samsung/Exynos 6.1, um módulo KernelSU genérico pode acionar um
pânico EL2 durante o ksud late-load porque o módulo tenta aplicar patch de texto
em tempo real. Para alvos afetados, compile um módulo para a versão exata de firmware
e habilite a opção no-patch-text da árvore de destino:
CONFIG_KSU_SAMSUNG_NO_PATCH_TEXT=y
Combine o kernelsu.ko e o ksud específicos do alvo, e corresponda ao uname -r completo do dispositivo em vez de apenas ao KMI 6.1. Um reboot durante o late-load pode vir da inicialização do módulo, não necessariamente do loader ksud. Esta é uma precaução específica para Samsung/Exynos; o alvo atual SM-F9560 é Snapdragon e deve ser validado separadamente. Consulte Root-My-Galaxy-Payloads para exemplos de build específicos do alvo.
Em dispositivos Qualcomm, tools/extract_target.py analisa offsets de boot.img e xbl_config.img. Requer Python 3 e uma fonte de kallsyms (arquivo --kallsyms ou --kallsyms-finder). Passar --llvm-objdump (ou ter llvm-objdump no PATH/NDK) adicionalmente desmonta o kernel para derivar automaticamente pselect_waiter_shift e 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 copia apenas 3 x FDS_BYTES(nfds) de dados de fd_set do usuário para a pilha do kernel (qwords 0..14 para nfds=320). O waiter do futex deve cair dentro dessa zona controlável: palavra inicial do waiter + 11 (campo lock) <= 14, ou seja, o deslocamento derivado (offset do waiter em relação ao fd_set em qwords) deve ser <= 3, caso contrário task/lock caem na cauda zerada pelo kernel e a rota não pode funcionar. O script falha com um erro claro quando o layout é inviável.
Mais detalhes sobre a pesquisa de payload e artefatos de suporte estão disponíveis em Root-My-Galaxy-Payloads. Pull requests são bem-vindos.
Baseado nos seguintes projetos, licenciados sob Apache License 2.0 (ver LICENSE):