De vez en cuando (y cada vez es más frecuente), me llega una notificación de que alguna aplicación ha intentado instalarse (¡!) pero ha sido bloqueada porque procede de "fuentes desconocidas", y me pide que desactive la opción de "bloquear la instalación desde fuentes desconocidas" desde Ajustes.
No es una notificación sino una diálogo y se ve así:
(Haga clic en la imagen para ampliarla; imagen por cortesía de <a href="https://android.stackexchange.com/q/132951/96277">Piyush </a>)
Al principio pensé que podrían ser actualizaciones del sistema y estuve tentado de desactivar el bloqueo de "origen desconocido", pero ahora me preocupa que pueda tener algún malware en mi teléfono.
Sí, nunca habilitar eso Fuentes desconocidas de la configuración si te encuentras en aguas desconocidas.
¿Dónde debo buscar el APK que intenta instalarse (o los APKs)?
Es un poco difícil encontrar la aplicación. Recomiendo encontrar la causa del efecto. En nuestro caso, el efecto era el diálogo que indicaba que la configuración de Fuentes desconocidas estaba bloqueada. Ese diálogo es mostrado por Package Installer (una aplicación de sistema). Package Installer es utilizado por aplicaciones de usuario o de sistema que no tienen el permiso Android.permission.INSTALL_PACKAGES para instalar una aplicación. Dado que no intentaste cargar lateralmente una aplicación, es lógico que una aplicación llamada Package Installer sin tu consentimiento. Nuestro objetivo inminente es encontrar esa aplicación en particular.
El servicio del sistema actividad registra muchos detalles importantes. Entre otras cosas muestra el paquete llamado que en este caso es la aplicación Package Installer con el nombre de paquete com.google.Android.packageinstaller o com.Android.packageinstaller . También muestra el paquete de llamada o el paquete que lanzó un otro paquete.
Encuentre el nombre del paquete
Ahora, utilizando adb en PC ejecutar el comando:
adb shell dumpsys activity activities # this command should be executed only when that dialog is in foreground
Resultado de la demostración: observe la línea resaltada:
En la línea resaltada, la cadena después de launchedFromPackage=
y antes userId
es el paquete responsable de lanzar la aplicación Package Installer. En su caso sería un nombre de paquete diferente. Anote ese nombre de paquete (en adelante denotado como <pkg>
).
Localizar el apk
Ahora que sabemos la causa inmediata podemos cazar la casa o lo que es lo mismo, la apk. Ejecuta el comando:
Nota: Encontrar la ubicación del apk es necesario sólo para los forenses. Si no estás interesado en eso, te recomiendo que no te molestes con este paso y saltes inmediatamente al apartado Desinstalar/desactivar/ocultar la aplicación .
adb shell pm path <pkg>
Salida de demostración:
bash-4.2# adb shell pm path com.estrongs.android.pop
package:**/data/app/com.estrongs.android.pop-1/base.apk**
La cadena junto a package:
es la ubicación de apk. También puede encontrar la misma información entre otras cosas a través del comando:
adb shell dumpsys package <pkg>
Desinstalar/desactivar/ocultar la aplicación
Si conoce la etiqueta del envase o puede conocerla por cualquier medio (como con AppXplore ) y luego entrar en el gestor de aplicaciones en la aplicación de Ajustes que suele bajar Ajustes → Aplicaciones → Todas las aplicaciones en Android de serie, encontrar la aplicación de malware y desinstalarla.
Aspectos a tener en cuenta
El paquete permanecerá desactivado u oculto hasta que revierta los cambios.
Nota para los lectores
El autor de la pregunta ha confirmado que la aplicación de malware en su teléfono tiene el nombre de paquete com.Android.tools.callassistant . Encontré su etiqueta como Caller ID y ha sido reportado como malware por AVG .
0 votos
¿Aparece la aplicación en la lista de aplicaciones en los ajustes?
0 votos
No. No aparece en ninguna parte.
0 votos
Podrías probar a desinstalar la segunda aplicación de metrónomo y ver si entonces todo deja de romperse.
0 votos
Por si acaso, ¿podrías facilitar el enlace a la aplicación de metrónomo que has instalado? Esto puede ayudarnos a probarlo en un entorno controlado. Además, ¿cuál es tu modelo de Android? Hay una discusión reciente en XDA que una compañía empujó una OTA con malware.
0 votos
Editando la pregunta...
0 votos
¿Podría configurar adb en su PC y si el prompt de instalación aparece de nuevo, utilice el PC para emitir el comando:
adb shell dumpsys window windows
y/oadb shell dumpsys activity activities
y proporcionarnos la salida? La salida puede ser grande (abrumadora), así que utilice un servicio de pegado de código, como pastebin para subirlo. Proporcione la captura de pantalla de la solicitud de instalación.0 votos
@Firelord Gracias por la sugerencia, he editado la pregunta añadiendo los registros que solicitas.
0 votos
He instalado Metronome Beats en un emulador, lo he ejecutado y no ha pasado nada. La app funciona correctamente, y no hay ninguna actividad sospechosa (el único permiso es para tener acceso a internet, que es para mostrar anuncios, pero nada perjudicial). IMHO, no es la causa (Play Store a veces tiene ese tipo de errores). Ahora bien, leyendo el registro de actividades, sí que apunta a com.Android.tools.callassistant que es la fuente.
0 votos
@AndrewT. Gracias, pero ¿puedes explicar por qué crees que es la causa? Y qué podría hacer para eliminarla? He hecho algo de programación en Android hace tiempo pero no tengo experiencia con adb. Aunque supongo que adb puede hacer un montón de cosas chulas.
0 votos
@AndrewT. : Parece que el paquete de llamada
com.android.tools.callassistant
es reportado como malware por AVG y así como en muchos lugares en la web por la búsqueda de Google. Parece que va por la etiqueta Identificación de llamadas . // Bogdan: ¿podrías haceradb uninstall com.android.tools.callassistant
y luego ver siadb shell pm list packages com.android.tools.callassistant
¿informa de algo?0 votos
@Firelord Lo he intentado pero no funciona: "Fallo [DELETE_FAILED_INTERNAL_ERROR]" es el mensaje que recibo.
0 votos
Creo que es una aplicación del sistema. ¿Podría proporcionarnos la información de
adb shell dumpsys package com.android.tools.callassistant
? Después de eso, ¿adb shell pm hide com.android.tools.callassistant
.0 votos
@Firelord Hecho, editado el texto para añadir los registros. He ocultado el paquete, dice que el nuevo estado oculto es TRUE. ¿Cómo ayuda eso? Estoy pensando, ¿no puedo simplemente desactivar estas ventanas emergentes de instalación que vienen una y otra vez? Debe haber una manera en Android para simplemente decir "No quiero instalar nada, y punto"...
0 votos
pm hide
hace que Android trate el paquete correspondiente como si fuera desinstalado lo que significa que no se ejecutará en absoluto a menos que se restablezca.pm disable
es más flexible y requiere mayores privilegios, pero al final, nuestro objetivo de desactivar el paquete se ha logrado. En cuanto a los avisos, si son como este entonces mi respuesta aquí puede serle de utilidad.0 votos
@Firelord Gracias. He ocultado el paquete y, efectivamente, no puedo desactivarlo: me sale una Java SecurityException - Permission Denial. Esperaré a ver si deja de aparecer el aviso. Para que sepas, estaba recibiendo la misma pantalla con "instalación bloqueada", luego desmarqué la casilla "no instalar desde fuentes no confiables", entonces el aviso cambió a la pantalla de instalación de la aplicación. Pero sigue apareciendo con la misma frecuencia.
0 votos
@Firelord También FYI, aunque he ocultado el paquete de malware, todavía puedo desinstalar una aplicación... ¿Qué significa eso?
0 votos
¿Puedes mostrarme cómo es la configuración de Fuentes desconocidas en tu dispositivo? [Se ha cambiado a la pantalla de instalación de la aplicación me sugiere que has activado la configuración de Fuentes desconocidas. Ahora, ¿has seguido mi respuesta vinculada? Tiene instrucciones para los dispositivos no rooteados también. Si las sigues no debería salirte la pantalla de instalación. En cuanto a tu último comentario, ocultar emula que el programa ha sido desinstalado pero el APK (el código) todavía existe y no puede ejecutarse de nuevo a menos que reinstales la aplicación manualmente.
0 votos
@Firelord ¡Gracias a Dios! ¡Al ocultar el paquete se detuvieron todas las notificaciones! Sigue ahí, pero ya no pasa nada malo. ¡Muchas gracias por las instrucciones! Si crees que se puede resolver la pregunta, publica una respuesta y la aceptaré.