Android ADB tiene acceso de root pero no SU binario

Recientemente compré una caja de Android TV que decía venir "pre-rooteada", sin embargo, no hay una aplicación SuperSU o un binario SU instalado. Lo interesante es que automáticamente inicio sesión como usuario raíz cuando me conecto al dispositivo con ADB (puedo ejecutar comandos de reinicio, etc.), lo que me dice que tengo al menos cierto nivel de acceso raíz. ¿Alguien puede explicar cómo se pudo configurar esto y cómo puedo otorgar privilegios de root a mis aplicaciones también?

Respuestas (1)

Dos lados diferentes de la baraja de cartas:

  • las aplicaciones necesitan el subinario para poder usar "poderes de raíz"
  • el demonio ADB no; obtiene acceso a la raíz mientras el sistema lo inicia en el modo correspondiente

build.propLa última es una configuración simple en el archivo de su dispositivo : ro.secure=1(predeterminado en la mayoría de los dispositivos) le dice al sistema que inicie el daemon en "modo seguro", es decir, no con poderes de root, mientras ro.secure=0que desactivaría esa seguridad y ejecutaría el daemon "como root". – que será el caso con su dispositivo.

Sabiendo eso, la afirmación de estar "pre-rooteado" es parcialmente cierta: puede usar ADB para "empujar" los archivos relevantes a su dispositivo. Cuatro pasos deberían hacerlo:

adb shell "mount -o remount,rw /system"
adb push su /system/bin/su
adb push superuser.apk /system/app
adb reboot

Después de ese reinicio, su dispositivo debería estar "totalmente arraigado" y las "aplicaciones raíz" deberían encontrar todo lo que necesitan para funcionar, y usted tendrá el control a través de la aplicación de superusuario.

Además de la respuesta de Izzy, el firmware se compiló con compilaciones/sabores de "Ingeniero" o "Depuración de usuario", porque "ro.secure=0" no funcionará en versiones/compilaciones de "Producción".
Además, ¿dónde podemos encontrar el subinario relevante?
¿Dónde puedo encontrar el binario su?
@Gizmo podría adivinar eso desde el cuadro de código: es parte del paquete SuperUser. El subinario por sí solo no será muy útil sin que la aplicación lo controle.