Volver a actualizaciones
Nuevo releaseAug 4, 2026

Root-My-Device v0.0.6

Instalador de KSU para firmware compatible con CVE-2026-43499

Compartir

Root My Device

Un fork de BuSung-dev/Root-My-Galaxy, bajo la Licencia Apache 2.0; consulte LICENSE y Créditos.

sprout_icon_108

Root My Device es un instalador de un solo clic para compilaciones de firmware explícitamente compatibles. La aplicación en sí se mantiene separada de los offsets de dispositivo, las cargas útiles de exploits nativos y los artefactos de compilación de KernelSU.

Última versión

El feed de dispositivos y las cargas útiles nativas se mantienen en Root-My-Device-Payloads. Cada push a su rama main compila las cargas útiles y las publica como una release de GitHub bajo una etiqueta única para esa ejecución. La aplicación obtiene el releases/latest de ese repositorio, lee el recurso targets-v2.json de él y descarga cada artefacto nombrado en él, por lo que el conjunto de cargas útiles que instala es inmutable una vez publicado, y no se hace commit de nada como binario.

Aplicación

KakaoTalk_20260718_170922353 KakaoTalk_20260718_171127319 KakaoTalk_20260718_171030202

La aplicación selecciona automáticamente una coincidencia exacta para la release del kernel, el ID de compilación completo, el SDK, la ABI y el tamaño de página. El modo avanzado puede seleccionar un perfil manualmente y presenta advertencias separadas de release del kernel y de compilación.

Modo de depuración

Un perfil permanece fuera del feed hasta que la ruta propia de la aplicación se ha completado en ese dispositivo, y el feed es lo que la aplicación lee, por lo que la ejecución que establecería si esa ruta funciona no tiene nada que descargar. El modo de depuración es para ese caso: un interruptor separado del modo avanzado, desactivado por defecto, que lee la carga útil desde una carpeta del dispositivo. Al activarlo, se revela la carpeta a la que debe apuntar, que contiene tres archivos en su nivel superior:

profile.json
cve-2026-43499-app.release.so
ksud

Los dos artefactos son lo que compila el repositorio de cargas útiles, y esos nombres son los predeterminados. Un daemon incluido bajo el nombre ksud-<id> que usan las releases de ese repositorio debe renombrarse, o nombrarse en el manifiesto como kernelsu.name (exploit.name para la carga útil).

profile.json solo contiene lo que no se puede obtener del dispositivo, bajo los nombres de clave propios del feed:

{
  "profileId": "xig07-jp-OS3.0.7.0.WNEJPKD",
  "kernelsu": { "kmi": "android14-6.1", "managerPackage": "me.weishu.kernelsu" }
}

Esos tres campos son obligatorios. Cada campo con el que el feed empareja un dispositivo (release del kernel, ID de compilación, SDK, ABI, tamaño de página) proviene en cambio de este dispositivo, ya que un perfil local no se compara contra nada. Nombrar kernelRelease o buildDisplay de todos modos es opcional y se verifica contra el dispositivo, que es lo que hace seguro mantener las carpetas de varios objetivos una al lado de la otra.

Ninguna de las comprobaciones que recibe una carga útil descargada se aplica aquí, y la aplicación lo indica. Una ejecución desde una carpeta se marca como tal en el registro, en la vista general y como local:<folder> en su entrada de historial, de modo que ninguna ejecución finalizada pueda leerse posteriormente como una ejecución de feed.

Compilación

Requisitos:

  • Android Studio JBR 21
  • Android SDK 37
  • Android NDK 28 o más reciente
  • CMake 3.22.1

El APK contiene un programa nativo que no se compila a partir del código fuente de este repositorio, así que clona con submódulos:

git clone --recurse-submodules https://github.com/Witaqua-tools/Root-My-Device
# or, in an existing checkout
git submodule update --init payloads
$env:JAVA_HOME='C:\Program Files\Android\Android Studio\jbr'
.\gradlew.bat :app:assembleDebug

Salida:

app/build/outputs/apk/debug/app-debug.apk

El asistente de arranque

lib/arm64-v8a/libcve43499root.so en el APK no es una biblioteca: es el asistente de arranque, un ejecutable que la aplicación ejecuta con ProcessBuilder desde nativeLibraryDir. Es quien carga una carga útil descargada y, posteriormente, quien sirve su a través de un socket una vez que la carga útil lo ha hecho root.

Se compila desde el código fuente mediante app/src/main/cpp/CMakeLists.txt, no se hace commit como binario. Sin embargo, el código fuente no está aquí: la ruta independiente de la carga útil ejecuta el mismo programa desde una ruta fija, por lo que el repositorio de cargas útiles también debe compilarlo, y sigue siendo la única copia. Este repositorio lo alcanza a través del submódulo payloads, cuyo commit anclado es el registro de exactamente qué revisión se usó para compilar un APK.

Eso significa dos compilaciones de una misma fuente, deliberadamente. El repositorio de cargas útiles fija NDK 29 en API 35 porque su payload de explotación es un blob de tamaño fijo cuyo toolchain es parte de su identidad; aquí, CMake usa el ndkVersion de este módulo en minSdk. El asistente no depende de ninguno de los dos: es el mismo programa en cualquier caso, y la copia que la aplicación incluye es la que se compila aquí.

Dos cosas al respecto son fundamentales y fáciles de deshacer accidentalmente: debe ser un ejecutable (add_executable más -pie, de modo que tenga un PT_INTERP que una biblioteca compartida no tendría), y debe llamarse lib*.so con jniLibs.useLegacyPackaging = true, porque eso es lo que se extrae en nativeLibraryDir como un archivo real con el bit de ejecución activado. Ambas están comentadas donde se establecen.

Utilícelo únicamente en dispositivos que posea o que esté autorizado explícitamente a probar.

Créditos

Esta aplicación

Un fork de Root-My-Galaxy de BuSung-dev, que conserva la Licencia Apache 2.0 original; consulte LICENSE.

Las cargas útiles que ejecuta

Esta aplicación descarga y ejecuta lo que publica Root-My-Device-Payloads, que a su vez es un fork de Root-My-Galaxy-Payloads de BuSung-dev.

Nada de lo que se le debe a una carga útil está en este repositorio, y nada de ello se repite aquí. KernelSU — lo que carga una ejecución exitosa — el upstream de cada núcleo, el código fuente del que descienden esos núcleos y los términos de licencia de todo lo construido allí se acreditan en el README del repositorio de cargas útiles, que es donde corresponde el crédito del lado de la carga útil y donde se construyen esos artefactos.

Categorías