Estaba usando Copia universal durante un tiempo para poder copiar el texto de los campos que normalmente no se pueden seleccionar, pero debido a que es capaz de ver todo el contenido en la pantalla cuando se ejecuta, me gustaría desactivar la en la configuración de accesibilidad hasta que sea necesario, que era un dolor. He encontrado Copiado , que hace lo mismo pero con un solo permiso (ejecutar al inicio) declarado, y establece lo siguiente:
Esta aplicación no utiliza ninguna conexión a Internet en absoluto, por lo que nunca sincroniza ninguno de sus datos guardados en cualquier lugar. Puedes confirmarlo tú mismo comprobando los permisos de la aplicación. Sus datos están seguros en su dispositivo.
A primera vista, esto parece genial, ya que parece que no hay preocupación por darle el acceso que implica el servicio de accesibilidad. Sin embargo, sé que los permisos de Android no están tan bien definidos, por desgracia, y que si una aplicación tiene cualquier permiso en una categoría, tiene todo permisos en esa categoría. Dado que el permiso "ejecutar al inicio" está en la categoría "Otros", que es también donde se encuentran los permisos de Internet, parecería que tendría ese acceso, aunque no lo solicite específicamente.
Así que mi pregunta es, ¿es eso cierto, o una aplicación tienen declarar un permiso en su manifiesto para poder utilizarlo, y esa declaración siempre ¿significa que ese permiso se mostrará al ver los permisos de una aplicación en la Play Store? Es decir, ¿es Copycat realmente seguro, o podría seguir enviando información, y el desarrollador está equivocado, lo que no sería exactamente prometedor, o mintiendo directamente, lo que sería claramente malo? Les envié un correo electrónico hace unas semanas pero no he recibido respuesta.
P.D. No estaba seguro de si esto debería ir en Stack Overflow, ya que está relacionado con la programación, o no, ya que no está relacionado con ningún código específico.
1 votos
Android lanza un error de excepción cuando una función es solicitada por una aplicación para la que no tiene el permiso necesario declarado en su manifiesto. Dicho esto, una actualización puede añadir fácilmente el permiso de Internet y, dado que ese permiso entra en la otra categoría, el usuario nunca recibe una notificación al respecto, ni siquiera cuando se realiza la carga lateral de la actualización.
0 votos
Si te estoy entendiendo bien, ¿estás diciendo que como no declara los permisos de internet en el manifiesto (basándote en que no aparecen en los detalles de los permisos en la página de Play Store), no puede usarlos aunque estén en la misma categoría de la que sí declara/solicita, pero puede añadirlo en cualquier momento sin que me avise b/c está en la misma categoría? Si ese es el caso, siempre compruebo los permisos para ver si se ha añadido alguno nuevo antes de actualizar las aplicaciones, así que eso no sería un problema.
1 votos
Los permisos de Android se clasifican en normales, peligrosos, de firma, de firma o de sistema. Hay otro concepto llamado grupos de permisos y cualquier permiso de cualquier clasificación puede estar en un grupo. Lo que se refiere a una categoría se llama técnicamente grupo de permisos. Si concedes un permiso de un grupo, el sistema concederá automáticamente el resto de los permisos de ese grupo, si la aplicación los solicita, sin pedir la aprobación del usuario. De nuevo, esto está limitado a un grupo, así que sólo porque una app pueda acceder a un permiso normal no significa que pueda acceder a todos los normales....
1 votos
...permisos a no ser que formen parte de un único grupo de permisos. Una aplicación debe declarar todos los permisos a los que quiere acceder en su manifiesto, independientemente de que estén dentro o fuera de un grupo de permisos.
1 votos
Para complementar los comentarios de @Firelord, es posible conceder sólo los permisos deseados de un grupo de permisos utilizando la herramienta de línea de comandos
pm
. Además, si tienes un dispositivo rooteado, puedes engañar a Android para que conceda permisos no declarados en el Manifiesto (al menos hasta Android 9): Android.stackexchange.com/a/217522/2185260 votos
@IrfanLatif - eso nos lleva a otra pregunta: ¿puede una aplicación con su en un dispositivo rooteado hacer cualquier cosa, independientemente de los permisos declarados, o sigue estando limitada a los permisos que solicita?
0 votos
@vertigo obviamente con verdaderos privilegios de Root, las aplicaciones pueden hacer casi todo lo que se puede hacer a través de CLI.