1 votos

Ejecutando una aplicación de consola en un teléfono Android sin root.

Pude ejecutar una aplicación de consola (compilada con NDK) en un teléfono Android rooteado, pero no puedo ejecutarla en un teléfono no rooteado.

Intenté:

adb push MyApp /mnt/sdcard/temp
adb shell
cd /mnt/sdcard/temp
chmod a+x MyApp

pero chmod no funcionó y el archivo siguió siendo no ejecutable:

tulip:/mnt/sdcard/temp $ ls -l
total 33904
-rw-rw---- 1 root sdcard_rw 34713488 2023-10-05 19:49 MyApp

Los archivos se cargan como root, pero los comandos se ejecutan como shell:

adb shell "id"                                                                                                       
uid=2000(shell) gid=2000(shell) groups=2000(shell),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid) context=u:r:shell:s0...

1voto

Tl;dr: Estás tratando de hacer cosas de root sin tener permisos de root. Obtener permisos de root en Android es extremadamente difícil y peligroso. Dada la magnitud de tu pregunta, no te recomendaría seguir intentando lo que estás preguntando.

Solo para que estés enterado...

  1. "Root" en entornos basados en *nix (incluido Android) es el usuario singular que tiene autoridad absoluta.
  2. Hacer "root" a tu teléfono significa que tienes la capacidad de ejecutar comandos como "root".
  3. Si no eres "root", las restricciones de seguridad no te permitirán realizar ciertas tareas... como cambiar permisos en archivos.
  4. Si miras los permisos del archivo, verás que el archivo pertenece a "root" y al grupo "sdcard_rw". A menos que seas el propietario, no tienes permisos para modificar los permisos de ese archivo. No puedes establecer el permiso de ejecución en ese archivo sin ser el propietario y/o tener permisos de root. Dado que no eres root ni el dueño del archivo, estás fuera de suerte.
  5. Si simplemente estás intentando instalar una aplicación válida de fuentes externas... necesitarás habilitar la instalación de aplicaciones de terceros en la configuración de seguridad del teléfono... y utilizar un instalador apropiado para instalar el archivo .apk en el dispositivo. Si la apk contiene cosas que violarían las verificaciones de seguridad del dispositivo (como una aplicación que contiene algún tipo de exploit o requiere permisos elevados fuera del alcance normal de lo que una aplicación puede hacer), estás fuera de suerte.
  6. Si obligas a tu teléfono a aceptar lo que quieras hacer... necesitarás básicamente hackear/explotar tu teléfono de alguna manera que te otorgue permisos elevados. Ten cuidado al intentar explotar un teléfono... ya que puedes modificar ciertos bits que ya no pasarán las verificaciones de seguridad del cargador de arranque... lo que podría darte acceso de root temporalmente, pero también hará que ya no pueda arrancar después de reiniciar el teléfono.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X