9 votos

¿Cómo es que "ShareIt", "Xender", etc. pueden instalar el APK sin requerir el permiso de "fuente desconocida"?

Normalmente, si tengo que instalar un apk (digamos desde la tarjeta SD), tengo que habilitar "Fuentes desconocidas" en la configuración de mi teléfono. Pero cuando transfiero e instalo cualquier APK desde otro teléfono usando "ShareIt", no se requiere tal permiso por mi teléfono.

¿Cómo puede ShareIt saltarse este permiso?

0 votos

¿Vino ShareIt preinstalado en tu dispositivo o lo instalaste tú mismo?

8voto

Neo Puntos 221

He investigado un poco y es posible sin permisos del sistema a partir de la API 21 https://developer.Android.com/reference/Android/content/pm/PackageInstaller.html .

De hecho, hay un ejemplo de código de Google que muestra cómo hacerlo. https://github.com/googlesamples/Android-testdpc/blob/master/app/src/main/java/com/afwsamples/testdpc/cosu/CosuUtils.java

0 votos

Felicidades por haber sacado esto a la luz, ahora a encontrar si la aplicación realmente lo utilizaba...

2 votos

@beeshyams - En realidad no. La aplicación no puede hacer una instalación "silenciosa". A través de la intención pendiente, se requiere el "clic" explícito del usuario en el momento de la instalación.

1 votos

@Neo Maldita sea, así que asumí una instalación silenciosa cuando escribí mi respuesta... Mi error.

4voto

Andy Yan Puntos 501

Si las aplicaciones se instalan de forma silenciosa (es decir, sin el diálogo de instalación habitual), es de suponer que estas aplicaciones llaman directamente a pm es decir PackageManager que, como aplicación del sistema, tiene el permiso android.permission.INSTALL_PACKAGES .

El teléfono tiene que estar rooteado para que la aplicación pueda llamar pm en un contexto Root, de lo contrario será recibido con el mensaje "Ni el usuario xxxx ni el proceso actual tienen Android.permission.INSTALL_PACKAGES".

EDIT: Como ha señalado @Izzy en el comentario, android.permission.INSTALL_PACKAGES también se concede a las aplicaciones instaladas en /system . Ver el comentario de abajo y esta pregunta del SO para obtener más información.

0 votos

Tenga en cuenta que en realidad no he probado ShareIt y analizar lo que realmente hace, sólo poner la teoría más probable. Si no está rooteado y todavía funcionó, entonces podríamos tener un problema mucho más interesante para investigar.

0 votos

Me pregunto si, aunque el teléfono esté rooteado, la aplicación puede obtener el permiso SU en instalar ¿tiempo? Eso sería aterrador y va en contra de lo poco que sé de las cosas del SU

0 votos

Utilicé SHAREit una vez, en la desesperación de transferir algunos archivos a iOS y rápidamente lo desinstalé. No pedía permisos de Root. Esto fue hace un par de meses y OP podría estar hablando de una versión de la aplicación de la carta

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