1 votos

¿cómo ejecutar binario en el teléfono Android no rooteado?

He compilado un binario en Linux usando el toochain de arm. He subido el binario a un teléfono andnroid no rooteado.

¿Qué tengo que hacer para ejecutar este binario en el teléfono no rooteado?

EDIT: He intentado ejecutar a través de emulador de terminal, pero me sale el siguiente error.

$ pwd
/mnt/sdcard/external_sd
$ ls -l hello
-rwxrwxr-x system   sdcard_rw     8420 2013-12-31 22:12 hello
$ ./hello
./hello: permission denied
$

0 votos

Supongo que podrías instalar un emulador de terminal, navegar hasta el binario y utilizar ./binary para invocarlo. Asegurándose de que los permisos están correctamente configurados, por supuesto.

1 votos

He intentado esto, pero el archivo no es ejecutable en sdcard, he intentado chmod +x, pero no hace nada. Intenté copiar el binario a la carpeta /data del teléfono, pero obtuve un error de permiso. ¿Cómo puedo ejecutarlo?

0 votos

¿Puede usted editar su pregunta y dénos la salida de ls -l [file] ? No podrás mover nada a /data/ porque es propiedad de root .

4voto

qwazix Puntos 121

Puede descargar termux Copie su binario en la carpeta de inicio de termux y ejecútelo

cp /storage/emulated/0/mybinary .
chmod +x mybinary
./mybinary

En realidad no he logrado ejecutar algo porque no tengo un binario Android a mano y un rápido google no trae ningún Android hola mundo binarios, pero debería funcionar.

0 votos

A hola mundo binario en Android no es diferente al de cualquier otro sistema. Prueba este, github.com/leachim6/hello-world/blob/master/c/c.c

1 votos

Lo he probado con el emulador de terminal de Android y funciona.

1voto

buggerer Puntos 1

Los medios extraíbles, así como otras particiones (en las que el usuario puede escribir) se montan NOEXEC, lo que significa que no se pueden ejecutar binarios en estas particiones. Vea la salida de 'mount' para más detalles. Las versiones modernas de Android generalmente impiden copiar binarios a particiones montadas EXEC como medida de seguridad.

Si no rooteas tu dispositivo, no puedes ejecutar este binario.

0 votos

Esta es correcta.

0 votos

¿es posible superar esto? por ejemplo, solicitando un permiso para escribir en una zona exec?

1 votos

Ahora necesitas empaquetar el binario en una app, y ejecutarlo a través de la app (¿posiblemente con NDK?). O si tienes suerte, puedes copiarlo a /data/local/tmp/ entonces chmod +x y ejecutarlo a partir de ahí.

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