
Una aplicación Android y payloads de jailbreak/root para iQOO Z9 5G y vivo T3 5G del CVE-2026-43499. Ambos dispositivos utilizan la plataforma MediaTek Dimensity 7200 (MT6886). Versión de kernel 5.15.178.
Una aplicación de Android jailbreak/root y payloads para iQOO Z9 5G y vivo T3 5G. Ambos dispositivos usan la plataforma MediaTek Dimensity 7200 (MT6886).
Hay dos métodos de ejecución compatibles: la APK de Android con Shizuku, o el helper nativo ejecutado directamente desde un adb shell. Ambos métodos usan el mismo payload específico del dispositivo y el daemon de KernelSU.
Este puerto utiliza la cadena de exploits de kernel Ghostlock CVE-2026-43499 para obtener root bootstrap temporal y luego carga tardíamente el daemon KernelSU correspondiente. Es una compilación de investigación jailbreak/root específica del dispositivo para el iQOO Z9 5G (modelo I2302) y el vivo T3 5G (modelo V2334), con el kernel 5.15.178-android13-8-g0ebe6a5da65d. No es una herramienta general de root para Android y solo debe usarse en hardware propio o autorizado para probar.
El iQOO Z9 5G I2302 y el vivo T3 5G V2334 se tratan como el mismo objetivo para este puerto. Su SoC, comportamiento de firmware, versión de kernel, ABI, offsets del exploit y emparejamiento con KernelSU son los mismos; la diferencia de identidad esperada es la huella de compilación (build fingerprint). Por lo tanto, usan el mismo payload y perfil de soporte. La aplicación sigue requiriendo la versión exacta de kernel indicada arriba: 5.15.178-android13-8-g0ebe6a5da65d.
Para instrucciones sobre cómo adaptar este proyecto a otro dispositivo, consulta la guía Portar a otro dispositivo.
Este proyecto requirió mucho esfuerzo y dinero para completarse. Si te fue útil, puedes apoyar el trabajo con un café:
Gracias a Codex por ayudar con el desarrollo.
app/ Android/Compose application source and UI resources
payload/ iQOO exploit source, target profile, build script, and release inputs
El flujo en tiempo de ejecución es:
I2302 o V2334, que el kernel en ejecución sea 5.15.178-android13-8-g0ebe6a5da65d y que el dispositivo sea arm64.payload/src/su_daemon.c como servicio shell (UID 2000), que es el contexto de ejecución que requiere este puerto. La aplicación invoca al supervisor --run-payload del helper, el mismo traspaso de hijo/sesión que usa el runbook adb validado, y sigue su registro de exploit persistente.ksud descargado, realiza la carga tardía protegida de KernelSU y verifica el canal de control.Nota importante de recuperación: Si el teléfono se bloquea o no arranca, mantén pulsados Bajar volumen + Encendido juntos hasta que se reinicie a la fuerza.
Descarga la última APK desde la página de GitHub Releases.
Descarga la APK oficial de KernelSU Manager desde la página de releases de KernelSU.
Una aplicación Android normal se ejecuta en el dominio SELinux untrusted_app. En este dispositivo, ese dominio no puede leer tracefs, por lo que lanzar el helper directamente desde la APK hace que el payload recurra al oráculo físico y normalmente falle en la compuerta de pipe. Por lo tanto, Shizuku es necesario para que la instalación por APK funcione. La aplicación inicia el supervisor --run-payload del helper a través del servicio shell de Shizuku (UID 2000), lo que le da a la ruta tracefs el mismo contexto de ejecución y traspaso de proceso que la ejecución probada con adb shell.
La página de Ajustes todavía expone un interruptor sin Shizuku para diagnósticos y desarrollo futuro. Está marcado explícitamente como no compatible; desactivarlo hace que la instalación se detenga antes de que comience el exploit.
Reinicia primero el teléfono; este puerto permite un intento de exploit por arranque. Inicia Shizuku, confirma que la aplicación jailbreak/root sigue teniendo permiso y que Usar Shizuku (requerido) está habilitado, y luego pulsa Instalar KernelSU. El registro en vivo debe contener Shizuku permission granted antes de que comience el payload. Mantén el teléfono despierto y conectado a la corriente mientras se ejecuta el exploit.
Si Shizuku se detiene, se revoca el permiso o el dispositivo se reinicia mientras la ejecución está en curso, detente y reinicia antes de volver a intentarlo. No reintentes el exploit repetidamente en el mismo arranque. El modo Shizuku solo cambia la forma en que se lanza el helper; no hace que este payload específico del dispositivo sea portable a otro modelo o kernel.
La APK es opcional. Un adb shell ya se ejecuta como UID shell de Android, por lo que proporciona el acceso a tracefs que la APK obtiene mediante Shizuku. Esta es la ruta original de diagnóstico/runbook y no requiere Shizuku.
Usa un arranque limpio para cada intento. El escritor de pila es de un solo uso por arranque; no vuelvas a ejecutar el exploit después de stack writer ran; refusing retry on this boot.
Desde la raíz del repositorio, prepara los binarios iQOO correspondientes:
adb reboot
# Wait for Android to finish booting, then push the payload and helper.
adb push payload/build/cve-2026-43499-app.so \
/data/local/tmp/iqoo-app.so
adb push payload/build/cve-2026-43499-root \
/data/local/tmp/cve-2026-43499-root
adb push payload/artifacts/ksud-iqoo-z9-5g \
/data/local/tmp/ksud-iqoo-z9-5g
adb shell chmod 755 \
/data/local/tmp/cve-2026-43499-root \
/data/local/tmp/ksud-iqoo-z9-5g
adb shell rm -f /data/local/tmp/iqoo-app-run.log
Inicia el supervisor del helper. Mantén esta terminal abierta y espera a que termine; una ejecución normal puede tardar varios minutos:
adb shell 'SLIDE_SOURCE=tracefs EXPLOIT_ATTEMPTS=1 \
P0_ATTEMPT_TIMEOUT_SEC=115 EXPLOIT_ATTEMPT_TIMEOUT_SEC=600 \
/data/local/tmp/cve-2026-43499-root --run-payload \
/data/local/tmp/iqoo-app.so /data/local/tmp/cve-2026-43499-root \
/data/local/tmp/iqoo-app-run.log'
La etapa del exploit solo está completa cuando el registro contiene tanto exploit completed como root=1. Si el root bootstrap tiene éxito, realiza la carga tardía del daemon KernelSU correspondiente con la operación exacta de un argumento del helper: